:root{--navy:#173f5f;--navy-dark:#0f2e46;--blue:#7fb8d5;--sky:#dcecf5;--mint:#dcefe7;--rose:#f4dcda;--sand:#f6eaca;--ink:#24364a;--muted:#68798d;--line:#dce5ec;--bg:#f4f7fa;--white:#fff;--shadow:0 18px 48px rgba(15,46,70,.1)}
*{box-sizing:border-box}html{font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg)}body{margin:0;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.muted,.lead{color:var(--muted)}.eyebrow{margin:0 0 8px;color:#497896;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:800}.brand-mark{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,var(--navy),#245d84);color:white;font-weight:900;letter-spacing:-.08em;box-shadow:0 12px 30px rgba(23,63,95,.22)}.brand-mark.small{width:42px;height:42px;border-radius:13px;font-size:.85rem}.button{border:0;border-radius:12px;padding:12px 18px;background:var(--navy);color:white;font-weight:800;cursor:pointer;box-shadow:0 8px 20px rgba(23,63,95,.15);transition:.18s ease}.button:hover{transform:translateY(-1px);background:var(--navy-dark)}.button.full{width:100%}.auth-page{background:radial-gradient(circle at 12% 5%,#e2f0f7,transparent 37%),radial-gradient(circle at 90% 100%,#e8e1f2,transparent 36%),var(--bg)}.auth-shell{width:min(1100px,calc(100% - 32px));min-height:100vh;margin:auto;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:80px;padding:44px 0}.auth-shell.single{grid-template-columns:minmax(0,620px);justify-content:center}.auth-brand h1{font-size:clamp(2.5rem,6vw,4.5rem);line-height:.94;letter-spacing:-.06em;margin:24px 0 18px;color:var(--navy-dark)}.auth-brand>p:not(.eyebrow){font-size:1.12rem;max-width:520px;color:var(--muted)}.feature-list{display:grid;gap:12px;margin:28px 0 0;padding:0;list-style:none}.feature-list li{display:flex;gap:10px;align-items:center;font-weight:700}.feature-list li:before{content:"✓";width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--mint);color:#2f765b;font-size:.78rem}.auth-card,.panel{background:rgba(255,255,255,.96);border:1px solid rgba(220,229,236,.95);border-radius:22px;box-shadow:var(--shadow)}.auth-card{padding:clamp(28px,5vw,48px)}.auth-card h1,.auth-card h2{margin:0 0 8px;color:var(--navy-dark);letter-spacing:-.035em}.auth-card h2{font-size:2rem}.auth-card .brand-mark{margin-bottom:24px}.form-grid{display:grid;gap:18px;margin-top:28px}.form-grid.two-columns{grid-template-columns:1fr 1fr}.form-grid .full-row{grid-column:1/-1}.form-grid.compact{gap:13px;margin-top:18px}.form-grid label{display:grid;gap:7px}.form-grid label>span{font-size:.82rem;font-weight:800;color:#425870}.form-grid input,.form-grid select{width:100%;min-height:46px;border:1px solid #cdd9e3;border-radius:11px;background:#fbfdfe;padding:10px 12px;color:var(--ink);outline:none}.form-grid input:focus,.form-grid select:focus{border-color:#76afcf;box-shadow:0 0 0 4px rgba(127,184,213,.18)}.password-wrap{position:relative}.password-wrap input{padding-right:76px}.password-toggle{position:absolute;right:8px;top:7px;border:0;background:#edf4f8;color:var(--navy);border-radius:8px;padding:7px 9px;font-size:.73rem;font-weight:800;cursor:pointer}.security-note{font-size:.75rem;color:var(--muted);line-height:1.5;margin:22px 0 0;padding-top:18px;border-top:1px solid var(--line)}.message-card{text-align:center}.success-icon{width:58px;height:58px;margin:0 auto 20px;display:grid;place-items:center;border-radius:50%;background:var(--mint);color:#2f765b;font-weight:900;font-size:1.4rem}.toast-stack{position:fixed;z-index:100;top:18px;right:18px;width:min(390px,calc(100vw - 36px));display:grid;gap:9px}.notice{padding:13px 15px;border-radius:12px;border:1px solid var(--line);box-shadow:0 12px 35px rgba(15,46,70,.14);background:white;font-weight:700;font-size:.86rem}.notice.error{background:#fff4f3;border-color:#edcac7;color:#8c3f38}.notice.success{background:#f1faf6;border-color:#cfe9dd;color:#2d6d54}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 clamp(18px,4vw,54px);background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:12px}.brand strong,.brand small{display:block}.brand strong{color:var(--navy-dark)}.brand small{color:var(--muted);font-size:.73rem;margin-top:2px}.topnav{display:flex;align-items:center;gap:15px;font-size:.84rem;font-weight:750}.topnav>a:hover{color:#397899}.user-chip{border-radius:999px;padding:8px 12px;background:#edf3f7;color:#536579}.topnav form{margin:0}.link-button{border:0;background:transparent;color:var(--navy);font-weight:800;cursor:pointer;padding:7px}.dashboard-main{width:min(1280px,calc(100% - 36px));margin:0 auto;padding:48px 0 80px}.dashboard-main>h1{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.055em;color:var(--navy-dark);margin:0 0 10px;max-width:800px}.lead{font-size:1.03rem;margin:0 0 42px}.section-title,.panel-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-title{border-bottom:1px solid var(--line);margin-bottom:18px}.section-title h2{font-size:1rem;color:var(--navy-dark)}.section-title span,.panel-title span{font-size:.75rem;color:var(--muted)}.apps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.app-card{padding:26px;background:white;border:1px solid var(--line);border-radius:20px;box-shadow:0 7px 25px rgba(15,46,70,.05);transition:.2s ease}.app-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#bcd6e5}.app-card-head{display:flex;align-items:center;justify-content:space-between}.app-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:15px;background:var(--sky);color:var(--navy);font-size:1.5rem;font-weight:900}.app-card h3{margin:26px 0 9px;color:var(--navy-dark);font-size:1.22rem}.app-card p{color:var(--muted);min-height:52px}.open-app{display:flex;justify-content:space-between;margin-top:24px;font-weight:850;color:var(--navy)}.open-app b{font-size:1.2rem}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:.68rem;font-weight:850;margin:2px}.badge.success{background:var(--mint);color:#2e6d54}.badge.danger{background:var(--rose);color:#8b3d37}.badge.warning{background:var(--sand);color:#755b1b}.badge.neutral{background:#edf2f6;color:#576a7e}.admin-main .lead{margin-bottom:28px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.panel{padding:22px;margin-bottom:18px}.panel h2{margin:0;color:var(--navy-dark);font-size:1.12rem}.table-panel{padding:0;overflow:hidden}.panel-title{padding:20px 22px;border-bottom:1px solid var(--line)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:850px}th{background:#eef3f7;color:#53667b;text-transform:uppercase;letter-spacing:.04em;font-size:.69rem;text-align:left;padding:11px 14px}td{padding:13px 14px;border-top:1px solid #e9eef2;font-size:.82rem;vertical-align:top}tbody tr:hover{background:#f8fbfd}.you{margin-left:7px;color:#4c83a3}.actions-cell{display:flex;align-items:flex-start;gap:9px}.actions-cell form{margin:0}.table-action,details summary{border:0;background:transparent;color:var(--navy);font-weight:800;font-size:.78rem;cursor:pointer}.danger-text{color:#a4453d}.reset-form{display:flex;gap:6px;position:absolute;right:20px;background:white;border:1px solid var(--line);border-radius:12px;padding:10px;box-shadow:var(--shadow);z-index:4}.reset-form input{min-height:34px;border:1px solid var(--line);border-radius:8px;padding:5px 8px}.reset-form button{border:0;border-radius:8px;background:var(--navy);color:white;font-weight:800}.empty-cell{text-align:center;color:var(--muted);padding:30px}code{font-size:.75rem;color:#52677b}
@media(max-width:850px){.auth-shell{grid-template-columns:1fr;gap:30px;padding:32px 0}.auth-brand{display:none}.apps-grid{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.user-chip{display:none}.form-grid.two-columns{grid-template-columns:1fr}.form-grid .full-row{grid-column:auto}}
@media(max-width:580px){.topbar{height:auto;min-height:66px;padding:10px 14px}.brand small{display:none}.topnav{gap:6px}.topnav>a{display:none}.dashboard-main{width:min(100% - 24px,1280px);padding-top:32px}.apps-grid{grid-template-columns:1fr}.auth-card{padding:25px 20px}.auth-shell{width:min(100% - 22px,1100px)}.toast-stack{top:10px;right:10px}.panel{padding:17px}.table-panel{padding:0}.panel-title{padding:16px}.actions-cell{display:block}}
