@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
:root{
--blue:#0a6ed1;--blue2:#0854a0;--ink:#1d2939;--muted:#667085;--bg:#f5f7f9;--surface:#fff;--line:#dfe4ea;
--side:#fff;--shadow:0 6px 20px rgba(16,24,40,.06);--success:#18864b;--warning:#b54708;
}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:14px}
a{text-decoration:none;color:inherit}.muted{color:var(--muted)}button,input,select{font:inherit}
.system-page,.login-page{min-height:100vh;background:linear-gradient(135deg,#edf4fb,#f8fafc);display:flex;align-items:center;justify-content:center}
.system-shell{width:min(1080px,94vw)}.system-brand{display:flex;gap:14px;align-items:center;margin-bottom:26px}.system-brand strong{display:block;font-size:19px;letter-spacing:.2px}.system-brand span{display:block;color:var(--muted);margin-top:4px}
.brand-mark,.mini-logo,.side-logo{display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:700;border-radius:8px}
.brand-mark{width:42px;height:42px}.system-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:36px;box-shadow:0 18px 55px rgba(16,24,40,.09)}
.eyebrow{font-size:11px;font-weight:700;color:var(--blue);letter-spacing:.12em;text-transform:uppercase}.system-panel h1{font-size:28px;margin:8px 0}.system-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
.system-card{position:relative;text-align:left;display:flex;align-items:center;gap:15px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;cursor:pointer;transition:.18s;min-height:130px}
.system-card:hover{border-color:#9dc8f2;box-shadow:var(--shadow);transform:translateY(-2px)}.system-icon{width:48px;height:48px;border-radius:10px;background:#eaf3fc;color:var(--blue);display:grid;place-items:center;font-weight:700;font-size:19px}
.system-name{font-weight:700;font-size:16px}.system-sub{font-size:12px;color:var(--blue);margin-top:3px}.system-desc{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.4}.chevron{margin-left:auto;color:#98a2b3;font-size:22px}.system-footer{text-align:center;color:#98a2b3;font-size:12px;margin-top:18px}
.alert{padding:11px 13px;border-radius:8px;margin:16px 0;font-size:13px}.error{background:#fff1f0;color:#b42318;border:1px solid #fecdca}
.login-card{width:min(430px,92vw);background:#fff;border:1px solid var(--line);border-radius:16px;padding:34px;box-shadow:0 18px 55px rgba(16,24,40,.1)}.login-head{display:flex;align-items:center;gap:12px;margin-bottom:24px}.login-head strong{display:block}.login-head span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.system-chip{background:#edf6ff;color:#0b5cad;border:1px solid #cce3fa;padding:9px 11px;border-radius:8px;font-size:12px;margin-bottom:20px}.login-card h1{margin:0 0 5px;font-size:24px}.login-card label{display:block;font-size:12px;font-weight:600;margin:16px 0 7px}.input{width:100%;border:1px solid #cfd6df;background:#fff;border-radius:7px;padding:11px 12px;outline:none}.input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #e8f3ff}.password-wrap{position:relative}.password-wrap .input{padding-right:60px}.eye{position:absolute;right:7px;top:5px;border:0;background:transparent;color:var(--blue);font-size:12px;cursor:pointer}.primary-btn{margin-top:20px;width:100%;border:0;border-radius:7px;background:var(--blue);color:#fff;padding:12px 14px;font-weight:700;cursor:pointer}.primary-btn:hover{background:var(--blue2)}.primary-btn span{float:right}
.remember-row{display:flex!important;align-items:flex-start;gap:9px;margin:14px 0 0!important;font-weight:400!important;cursor:pointer}
.remember-row input{width:15px;height:15px;margin:1px 0 0;accent-color:var(--blue);flex:none}
.remember-row span{display:block}
.remember-row b{display:block;font-size:12px;font-weight:600;color:#344054}
.remember-row small{display:block;margin-top:3px;color:#8a95a6;font-size:10px;line-height:1.35}
.back-link{display:block;text-align:center;color:var(--blue);font-size:12px;margin-top:18px}
.topbar{height:58px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 18px;position:sticky;top:0;z-index:50}.menu-toggle{border:0;background:transparent;font-size:20px;color:#475467;cursor:pointer;margin-right:12px}.top-brand{display:flex;align-items:center;gap:9px;font-weight:700;white-space:nowrap}.mini-logo{width:28px;height:28px;border-radius:6px;font-size:13px}.global-search{position:relative;margin-left:55px;width:min(510px,42vw);background:#f3f5f7;border:1px solid #e5e9ef;border-radius:7px;height:36px;display:flex;align-items:center;padding:0 11px;gap:8px;color:#667085}.global-search input{border:0;outline:0;background:transparent;width:100%;font-size:13px}.search-results{position:absolute;left:0;right:0;top:41px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow);display:none;overflow:hidden}.search-results.show{display:block}.search-results a{display:flex;gap:10px;padding:11px 13px;border-bottom:1px solid #f0f2f4}.search-results a:hover{background:#f5f9fd}.search-results b,.search-results small{display:block}.search-results small{color:var(--muted);margin-top:3px}.search-empty{padding:15px;color:var(--muted)}
.top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.system-pill{font-size:11px;color:#0b5cad;background:#edf6ff;border:1px solid #cce3fa;padding:7px 9px;border-radius:999px}.icon-btn,.user-btn{border:0;background:transparent;cursor:pointer}.icon-btn{font-size:20px;color:#667085;padding:7px}.user-btn{display:flex;align-items:center;gap:7px;color:#344054}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#d9ebfb;color:#075cae;font-weight:700;font-size:12px}.user-menu{position:relative}
.user-btn{min-height:38px;padding:4px 6px;border-radius:8px}
.user-btn:hover{background:#f5f7fa}
.user-btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.user-dropdown{
display:none;position:absolute;right:0;top:calc(100% + 6px);width:230px;
background:#fff;border:1px solid var(--line);box-shadow:0 14px 34px rgba(16,24,40,.14);
border-radius:11px;padding:8px;z-index:200
}
.user-menu.open .user-dropdown{display:block}
.user-dropdown::before{
content:"";position:absolute;top:-7px;right:22px;width:12px;height:12px;background:#fff;
border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)
}
.user-dropdown b,.user-dropdown small{display:block;padding:6px 9px}
.user-dropdown b{font-size:13px}.user-dropdown small{color:var(--muted);font-size:11px}
.user-dropdown a{
display:flex;align-items:center;min-height:40px;padding:9px;border-radius:7px;cursor:pointer;
transition:background .15s,color .15s
}
.user-dropdown a:hover{background:#f3f6f9;color:var(--blue)}
.user-dropdown a:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.user-dropdown hr{border:0;border-top:1px solid #eef0f2;margin:7px 0}

.app-shell{display:flex;min-height:calc(100vh - 58px)}.sidebar{width:245px;background:var(--side);border-right:1px solid var(--line);position:fixed;top:58px;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;transition:.2s}.sidebar.collapsed{width:70px}.sidebar.collapsed label,.sidebar.collapsed i,.sidebar.collapsed .side-title div,.sidebar.collapsed .nav-section,.sidebar.collapsed .sidebar-bottom{display:none}.side-title{height:72px;padding:15px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #eef0f2}.side-logo{width:34px;height:34px;border-radius:7px}.side-title b,.side-title small{display:block}.side-title small{font-size:10px;color:var(--muted);margin-top:2px}.sidebar nav{padding:12px 9px;overflow:auto}.sidebar nav>a{display:flex;align-items:center;gap:11px;padding:10px 12px;color:#475467;border-radius:7px;margin:2px 0;font-size:13px}.sidebar nav>a span{width:18px;text-align:center;font-size:17px}.sidebar nav>a i{margin-left:auto;font-style:normal;color:#98a2b3}.sidebar nav>a:hover{background:#f3f6f9}.sidebar nav>a.active{background:#eaf3fc;color:#075cae;font-weight:600;border-left:3px solid var(--blue);padding-left:9px}.nav-section{font-size:10px;font-weight:700;color:#98a2b3;padding:18px 12px 7px;letter-spacing:.08em}.sidebar-bottom{margin-top:auto;border-top:1px solid #eef0f2;padding:14px 16px}.sidebar-bottom small,.sidebar-bottom b,.sidebar-bottom span{display:block}.sidebar-bottom small{font-size:10px;color:#98a2b3}.sidebar-bottom b{font-size:12px;margin-top:4px}.sidebar-bottom span{font-size:10px;color:var(--blue);margin-top:3px}
.main-content{margin-left:245px;width:calc(100% - 245px);padding:25px 30px 50px;transition:.2s}.sidebar.collapsed~.main-content{margin-left:70px;width:calc(100% - 70px)}.breadcrumb{font-size:11px;color:#667085;margin-bottom:20px}.hero{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px 26px;box-shadow:0 2px 8px rgba(16,24,40,.03)}.hero h1,.page-head h1{margin:5px 0 7px;font-size:25px;letter-spacing:-.02em}.hero p,.page-head p{margin:0;color:var(--muted)}.hero-action{background:#edf6ff;color:#075cae;padding:10px 13px;border-radius:7px;font-size:12px;font-weight:600}.section{margin-top:27px}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:13px}.section-title h2{font-size:16px;margin:0 0 3px}.section-title span{font-size:11px;color:var(--muted)}.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.app-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:10px;padding:17px;min-height:180px;transition:.16s}.app-card:hover{border-color:#9dc8f2;box-shadow:var(--shadow);transform:translateY(-2px)}.favorite-star{position:absolute;right:10px;top:9px;border:0;background:transparent;color:#98a2b3;font-size:18px;cursor:pointer}.app-icon{width:38px;height:38px;border-radius:8px;background:#edf6ff;color:#0a6ed1;display:grid;place-items:center;font-size:18px;margin-bottom:15px}.app-code{font-size:12px;font-weight:700;color:#0a6ed1}.app-name{font-weight:600;margin-top:4px}.app-desc{font-size:11px;color:var(--muted);line-height:1.45;margin-top:7px}.app-open{position:absolute;bottom:14px;color:#667085;font-size:10px}.recent-list{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.recent-row{display:flex;align-items:center;padding:12px 15px;border-bottom:1px solid #eef0f2;gap:12px}.recent-row:last-child{border-bottom:0}.recent-row:hover{background:#f8fafc}.recent-icon{width:30px;height:30px;background:#edf6ff;color:var(--blue);border-radius:7px;display:grid;place-items:center}.recent-row b,.recent-row small{display:block}.recent-row small{font-size:11px;color:var(--muted);margin-top:2px}.row-arrow{margin-left:auto;color:#98a2b3}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:13px}.category-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;display:flex;align-items:center;gap:13px}.category-card:hover{border-color:#9dc8f2;box-shadow:var(--shadow)}.category-icon{width:38px;height:38px;border-radius:8px;background:#f1f5f9;display:grid;place-items:center;color:var(--blue);font-size:18px}.category-card h3{font-size:13px;margin:0 0 4px}.category-card span{font-size:11px;color:var(--muted)}.category-card>b{margin-left:auto;color:#98a2b3}.page-head{margin-bottom:22px}.directory-tools{display:flex;gap:10px;margin-bottom:17px}.search-large{flex:1;background:#fff;border:1px solid var(--line);border-radius:7px;display:flex;align-items:center;padding:0 12px;color:#98a2b3}.search-large input{border:0;outline:0;padding:11px;width:100%}.directory-tools select{border:1px solid var(--line);border-radius:7px;background:#fff;padding:0 12px}.primary-small{border:0;border-radius:7px;background:var(--blue);color:#fff;padding:0 17px;font-weight:600}.directory-table{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.table-head,.table-row{display:grid;grid-template-columns:1.1fr 2.4fr 1fr 1fr .8fr;gap:12px;align-items:center}.table-head{background:#f7f8fa;color:#667085;font-size:10px;font-weight:700;padding:11px 15px}.table-row{padding:13px 15px;border-top:1px solid #eef0f2;font-size:12px}.table-row:hover{background:#fbfcfd}.table-row small{display:block;color:var(--muted);margin-top:3px;font-size:10px}.badge{background:#eef4f9;border:1px solid #dce8f1;padding:5px 7px;border-radius:5px;font-size:10px}.status-dot{color:var(--success);font-size:10px}.open-btn{color:var(--blue);font-weight:600;font-size:11px}.empty{padding:35px;text-align:center;color:var(--muted)}.workspace-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px}.workspace-card h2{margin-top:0}.workspace-card p{color:var(--muted);line-height:1.6}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}.form-grid label{font-size:11px;font-weight:600}.form-grid .input{margin-top:7px}.primary-btn.small{width:auto;padding:10px 18px;margin-top:0}
@media(max-width:900px){.system-grid{grid-template-columns:1fr}.global-search{margin-left:20px;width:40vw}.user-name{display:none}.sidebar{width:70px}.sidebar label,.sidebar i,.sidebar .side-title div,.sidebar .nav-section,.sidebar .sidebar-bottom{display:none}.main-content{margin-left:70px;width:calc(100% - 70px)}.side-title{justify-content:center}.table-head,.table-row{grid-template-columns:1fr 2fr 1fr}.table-head span:nth-child(4),.table-head span:nth-child(5),.table-row>div:nth-child(4),.table-row>div:nth-child(5){display:none}}
@media(max-width:620px){.top-brand span:last-child{display:none}.global-search{margin-left:10px;width:auto;flex:1}.system-panel{padding:24px}.main-content{padding:18px 14px}.hero{display:block}.hero-action{display:inline-block;margin-top:15px}.directory-tools{flex-wrap:wrap}.search-large{min-width:100%}.directory-tools select{height:38px}.primary-small{height:38px}.app-grid{grid-template-columns:1fr 1fr}.app-card{min-height:165px}.category-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}}

.public-access{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px;margin-top:8px;color:var(--brand);font-weight:800;font-size:13px}.public-access span{font-weight:600;color:var(--muted);font-size:11px}.public-page{min-height:100vh;background:var(--bg)}.public-top{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;color:var(--muted);font-size:12px}.public-main{max-width:1200px;margin:auto;padding:50px 25px}.public-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}.public-card,.public-workspace{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 8px 25px rgba(22,48,76,.05)}.public-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.public-card h3{margin:12px 0 7px}.public-card p,.public-workspace p{color:var(--muted);font-size:12px;line-height:1.6}.public-card span{color:var(--brand);font-weight:800;font-size:12px}.outlet-pill{background:#edf7f0;color:var(--success)}.full{grid-column:1/-1}.workspace-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:20px}.admin-form{max-width:950px}.admin-form textarea{min-height:90px;resize:vertical}.admin-form .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.admin-form label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#405366}.admin-form .input{border:1px solid var(--line);border-radius:10px;padding:11px;background:#fff}.form-actions{margin-top:18px;display:flex;justify-content:flex-end}.admin-checks{margin-top:18px;padding:15px;background:#f7fafc;border:1px solid var(--line);border-radius:12px}.admin-checks>div{display:flex;flex-wrap:wrap;gap:15px;margin-top:10px}.admin-checks label{font-weight:600}.admin-checks small{display:block;margin-top:10px}.system-chip{display:inline-block;background:#eaf4fb;color:var(--brand);font-size:11px;font-weight:800;padding:8px 10px;border-radius:9px;margin:12px 0}.login-head{display:flex;gap:12px;align-items:center;margin-bottom:16px}.login-head span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.password-wrap{position:relative}.password-wrap .input{width:100%;padding-right:65px}.eye{position:absolute;right:7px;top:7px;border:0;background:#eef4f8;border-radius:8px;padding:7px;color:var(--brand);font-size:11px;font-weight:700}.app-body .main-content{padding-bottom:50px}@media(max-width:760px){.public-grid{grid-template-columns:1fr}.admin-form .form-grid{grid-template-columns:1fr}.public-top{padding:0 14px}}

@media(max-width:620px){
.user-dropdown{width:min(230px,calc(100vw - 24px));right:0}
}

.portal-outlet-locked{background:#f1f5f9!important;color:#334155!important;cursor:not-allowed!important;opacity:1!important;}
