*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f4f6fa;color:#101828}body{min-height:100dvh}.boot,.login{min-height:100dvh;display:grid;place-items:center;align-content:center;gap:12px;padding:24px;text-align:center;background:radial-gradient(circle at 50% 20%,#fff 0,#f5f3ee 35%,#eef1f6 100%)}.boot span,.login .sub{color:#667085}.mark{display:grid;place-items:center;width:70px;height:70px;border-radius:20px;background:#0b1220;color:white;font-weight:950;font-size:25px;letter-spacing:-.08em;box-shadow:0 18px 45px #0b122028}.login-card{width:min(440px,94vw);background:#fff;border:1px solid #e7e7e4;border-radius:24px;padding:28px;box-shadow:0 24px 80px #0b122014;text-align:left}.login-brand{display:flex;gap:14px;align-items:center;margin-bottom:22px}.login-brand .mark{width:52px;height:52px;border-radius:15px;font-size:18px}.login-brand b{display:block;letter-spacing:.09em}.login-brand small{display:block;color:#8a7449;margin-top:4px;letter-spacing:.08em}.login h1{font-size:30px;line-height:1.05;margin:0 0 8px;letter-spacing:-.04em}.login p{margin:0 0 22px;color:#667085}.error{padding:12px;border-radius:12px;background:#fff1f1;color:#9b1c1c;font-size:13px}.shell{min-height:100dvh;display:grid;grid-template-rows:64px 1fr;background:#f4f6fa}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:14px;padding:0 18px;background:#0b1220;color:#fff;border-bottom:1px solid #ffffff1a}.topmark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#fff;color:#0b1220;font-weight:950;letter-spacing:-.08em}.brand b{display:block;font-size:13px;letter-spacing:.08em}.brand small{display:block;font-size:9px;color:#d8c398;letter-spacing:.08em;margin-top:2px}.nav{display:flex;gap:6px;margin-left:24px}.nav button,.top-actions button{border:0;border-radius:10px;padding:10px 13px;background:transparent;color:#cdd4df;font-weight:800;cursor:pointer}.nav button.active,.nav button:hover,.top-actions button:hover{background:#ffffff14;color:#fff}.top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.who{font-size:11px;color:#cdd4df;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.view{min-height:calc(100dvh - 64px)}.cockpit-frame{display:block;width:100%;height:calc(100dvh - 64px);border:0;background:#f4f6fa}.access{padding:28px;max-width:1100px;margin:auto}.hero{background:linear-gradient(135deg,#0b1220,#192335);color:#fff;padding:28px;border-radius:24px;margin-bottom:20px}.hero .eyebrow{color:#d8c398;font-size:11px;font-weight:900;letter-spacing:.13em}.hero h1{font-size:34px;margin:8px 0 6px;letter-spacing:-.04em}.hero p{margin:0;color:#c6ced9}.card{background:#fff;border:1px solid #e6e9ef;border-radius:18px;padding:20px;margin-bottom:18px}.card h2{margin:0 0 16px;font-size:18px}.create-grid{display:grid;grid-template-columns:1.3fr 1fr auto auto;gap:10px;align-items:end}.field label{display:block;font-size:11px;font-weight:850;color:#667085;margin-bottom:6px}.field input{width:100%;height:42px;border:1px solid #d8dde6;border-radius:10px;padding:0 11px;font:inherit}.check{display:flex;gap:7px;align-items:center;padding-bottom:10px;font-size:12px;font-weight:800}.primary{height:42px;border:0;border-radius:10px;padding:0 16px;background:#0b1220;color:#fff;font-weight:900;cursor:pointer}.secondary{height:38px;border:1px solid #d8dde6;border-radius:9px;background:#fff;padding:0 12px;font-weight:800;cursor:pointer}.users{display:grid;gap:10px}.user{display:grid;grid-template-columns:1fr auto auto auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid #eef0f4}.user:first-child{border-top:0}.mail{font-weight:850}.meta{display:block;font-size:11px;color:#98a2b3;margin-top:3px}.pill{font-size:10px;font-weight:900;padding:6px 8px;border-radius:999px;background:#eef2f6}.pill.admin{background:#f5efe1;color:#735d31}.pill.off{background:#fbeaea;color:#9d2525}.notice{font-size:12px;color:#667085;margin-top:10px}.toast{position:fixed;right:18px;bottom:18px;background:#0b1220;color:white;padding:12px 14px;border-radius:11px;box-shadow:0 12px 30px #0003;font-size:12px;z-index:100}.bigthanks{font-weight:950;letter-spacing:-.05em}@media(max-width:760px){.shell{grid-template-rows:56px 1fr}.topbar{height:56px;padding:0 10px;gap:8px}.topmark{width:34px;height:34px}.brand small{display:none}.nav{margin-left:4px}.nav button{padding:8px 9px;font-size:12px}.who{display:none}.cockpit-frame{height:calc(100dvh - 56px)}.access{padding:14px}.hero{padding:20px}.hero h1{font-size:26px}.create-grid{grid-template-columns:1fr}.check{padding:3px 0}.user{grid-template-columns:1fr auto;gap:7px}.user .secondary{grid-column:2}.login-card{padding:20px}}

/* DASSIN PORTAL BRIGHT v2 */
html,body,#app{background:#f4f9ff;color:#17365d}.boot,.login{background:radial-gradient(circle at 15% 8%,#dff7ff 0,transparent 34%),radial-gradient(circle at 90% 18%,#fff0cd 0,transparent 30%),linear-gradient(160deg,#f8fcff,#f4f5ff)}
.mark{background:linear-gradient(135deg,#2b8df5,#35c3b6);box-shadow:0 18px 45px rgba(43,141,245,.25)}.login-card{border-color:#dceaf6;box-shadow:0 24px 80px rgba(55,115,170,.12)}.login-brand small{color:#2f8cba}
.shell{background:#f4f9ff}.topbar{background:linear-gradient(112deg,#2c8ff5 0%,#3ebdc9 58%,#66cbb4 100%);border-bottom:0;box-shadow:0 10px 32px rgba(44,143,245,.22)}.topmark{color:#247ed4;box-shadow:0 6px 18px rgba(18,97,160,.16)}.brand small{color:#eafff8}.nav button,.top-actions button{color:#ecf9ff}.nav button.active,.nav button:hover,.top-actions button:hover{background:rgba(255,255,255,.2);color:#fff}.who{color:#f2fbff}.cockpit-frame{background:#f4f9ff}
.hero{background:linear-gradient(125deg,#3b8ff4,#4f8eeb 46%,#32c0b4);box-shadow:0 18px 42px rgba(55,132,224,.18)}.hero .eyebrow{color:#fff1bd}.hero p{color:#eaf8ff}.card{border-color:#dceaf6;box-shadow:0 9px 28px rgba(61,112,159,.06)}.primary{background:linear-gradient(110deg,#2d8cff,#33c5b4);box-shadow:0 9px 22px rgba(45,140,255,.2)}.secondary{border-color:#cfe1f0;color:#356a99}.pill.admin{background:#e9f7ff;color:#287aae}.toast{background:linear-gradient(110deg,#3589f6,#27bfa8);box-shadow:0 14px 32px rgba(45,140,255,.25)}

/* DASSIN portal V4 · professional light header */
html,body,#app{background:#f5f7fa!important;color:#17324d!important}
.shell{background:#f5f7fa!important}
.topbar{background:#fff!important;color:#17324d!important;border-bottom:1px solid #dbe5ee!important;box-shadow:0 4px 18px rgba(23,63,100,.05)!important}
.topmark{background:#eaf3fb!important;color:#1f6fb2!important;box-shadow:none!important}
.brand b{color:#17324d!important}.brand small{color:#6d8397!important}
.nav button,.top-actions button{color:#60758a!important}
.nav button.active,.nav button:hover,.top-actions button:hover{background:#edf4fa!important;color:#1f6fb2!important}
.who{color:#6f8192!important}
.cockpit-frame{background:#f5f7fa!important}
.hero{background:#173f64!important;box-shadow:0 10px 28px rgba(23,63,100,.12)!important}
.primary{background:#1f6fb2!important;box-shadow:none!important}
.toast{background:#173f64!important;box-shadow:0 10px 28px rgba(23,63,100,.18)!important}
