:root{--navy:#07192b;--navy2:#0d2f53;--blue:#1268c9;--blue2:#084d99;--silver:#c7d0d9;--silver2:#eef2f5;--bg:#f3f6fa;--card:#fff;--text:#172230;--muted:#6d7b8a;--line:#e1e7ef;--green:#14a36d;--amber:#d88819;--red:#d94a4a;--shadow:0 8px 24px rgba(12,28,44,.06)}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg)}a{text-decoration:none;color:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{width:250px;background:var(--navy);color:#dce7f2;position:fixed;inset:0 auto 0 0;overflow-y:auto;z-index:30}.brand{height:72px;display:flex;align-items:center;gap:11px;padding:0 16px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#1e8cff,#0d5fd4);display:grid;place-items:center;font-weight:800;color:white}.brand-logo{width:42px;height:42px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.18),0 8px 20px rgba(0,0,0,.22);flex:0 0 auto}.brand-logo img{width:100%;height:100%;object-fit:cover;display:block}.brand strong{display:block;font-size:13px;letter-spacing:.4px}.brand small{display:block;font-size:8px;color:#9fb2c6;margin-top:3px}.nav{padding:12px 8px 24px}.nav-link{display:flex;align-items:center;gap:12px;padding:9px 12px;margin:2px 0;border-radius:8px;font-size:13px;color:#c7d5e3}.nav-link span{width:18px;text-align:center}.nav-link:hover{background:rgba(255,255,255,.06);color:#fff}.nav-link.active{background:linear-gradient(135deg,#1268c9,#0c4e93);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.main{min-height:100vh;margin-left:250px;width:calc(100% - 250px);display:flex;flex-direction:column}.topbar{height:62px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 22px;position:sticky;top:0;z-index:20}.menu-btn{display:none;border:0;background:transparent;font-size:22px}.topbar-spacer{flex:1}.top-user{display:flex;align-items:center;gap:9px}.top-user small{display:block;color:var(--muted);font-size:10px}.avatar{width:34px;height:34px;border-radius:50%;background:#e7f0ff;color:var(--blue2);display:grid;place-items:center;font-weight:800;font-size:12px}.logout{font-size:12px;color:var(--muted);padding:6px 9px;border-radius:6px}.logout:hover{background:#f3f6fa}.content{padding:24px;flex:1}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.page-head h1{font-size:22px;margin:0 0 5px}.page-head p{margin:0;color:var(--muted);font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:8px;padding:10px 14px;font-weight:700;font-size:13px;cursor:pointer}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue2)}.btn-secondary{background:#edf2f8;color:#324153}.btn-danger{background:#fff0f0;color:var(--red)}.btn-sm{padding:7px 10px;font-size:12px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.metric{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:var(--shadow);display:flex;gap:12px;align-items:center}.metric-icon{width:42px;height:42px;border-radius:10px;background:#eaf2ff;color:var(--blue);display:grid;place-items:center;font-size:19px}.metric .value{font-size:20px;font-weight:800}.metric .label{font-size:11px;color:var(--muted);margin-top:3px}.grid-2{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-bottom:18px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.card-head{padding:15px 17px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.card-head h2{font-size:14px;margin:0}.card-body{padding:17px}.chart-bars{height:220px;display:flex;align-items:flex-end;gap:10px;padding:20px 6px 8px}.bar-wrap{flex:1;text-align:center;color:var(--muted);font-size:10px}.bar{background:linear-gradient(180deg,#288bff,#7eb6ff);border-radius:5px 5px 2px 2px;min-height:5px;margin-bottom:7px}.donut-wrap{display:grid;place-items:center;min-height:220px}.donut{width:150px;height:150px;border-radius:50%;background:conic-gradient(#1677ff 0 35%,#10a6a0 35% 57%,#8557e8 57% 75%,#f3a51d 75% 90%,#ee6571 90% 100%);display:grid;place-items:center}.donut:after{content:"";width:92px;height:92px;background:white;border-radius:50%;position:absolute}.donut-label{position:absolute;z-index:2;text-align:center}.donut-label strong{display:block}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{text-align:left;padding:11px 13px;border-bottom:1px solid var(--line);font-size:12px;vertical-align:middle}.table th{background:#f8fafc;color:#536172;font-size:11px}.badge{display:inline-block;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:700}.badge.green{background:#e6f7ef;color:#0c8b5b}.badge.amber{background:#fff3df;color:#b56c08}.badge.red{background:#ffeded;color:#c83b3b}.badge.gray{background:#eef1f5;color:#6b7682}.actions{display:flex;gap:6px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field label{display:block;font-size:11px;font-weight:700;margin-bottom:6px;color:#4a5868}.input,.select,.textarea{width:100%;border:1px solid #d8e0e9;border-radius:8px;padding:10px 11px;font:inherit;font-size:13px;background:#fff}.textarea{min-height:90px;resize:vertical}.input:focus,.select:focus,.textarea:focus{outline:2px solid #d9e9ff;border-color:#82b4f7}.field.full{grid-column:1/-1}.form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.alert{padding:11px 13px;border-radius:8px;margin-bottom:16px;font-size:13px}.alert.success{background:#e9f8f1;color:#087a50}.alert.error{background:#fff0f0;color:#b93838}.empty{padding:32px;text-align:center;color:var(--muted);font-size:13px}.footer{padding:18px 24px;color:#8793a1;font-size:11px}.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 20%,#153b61,#081521 60%)}.login-card{width:min(420px,92vw);background:#fff;border-radius:18px;box-shadow:0 26px 70px rgba(0,0,0,.28);padding:30px}.login-brand{text-align:center;margin-bottom:24px}.login-brand .brand-mark{margin:auto;width:52px;height:52px;border-radius:16px}.login-emblem{width:96px;height:96px;margin:0 auto 12px;border-radius:50%;overflow:hidden;box-shadow:0 14px 35px rgba(7,25,43,.24),0 0 0 1px rgba(199,208,217,.65)}.login-emblem img{width:100%;height:100%;object-fit:cover;display:block}.login-brand h1{font-size:19px;margin:13px 0 3px}.login-brand p{margin:0;color:var(--muted);font-size:12px}.login-card .field{margin-bottom:13px}.login-card .btn{width:100%;margin-top:5px}.login-note{text-align:center;color:var(--muted);font-size:11px;margin-top:14px}.install-body{min-height:100vh;background:#f4f7fb;padding:30px}.install-wrap{max-width:880px;margin:auto}.install-top{margin-bottom:18px}.install-top h1{margin:0 0 6px}.install-card{background:white;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:var(--shadow)}.notice{padding:12px;border-radius:8px;background:#eef6ff;color:#245581;font-size:12px;margin-bottom:15px}.error-list{background:#fff0f0;color:#a83434;padding:12px 16px;border-radius:8px;font-size:12px;margin-bottom:15px}.module-placeholder{padding:50px 20px;text-align:center}.module-placeholder .icon{font-size:38px}.module-placeholder h2{margin:10px 0 6px}.module-placeholder p{color:var(--muted);font-size:13px;max-width:550px;margin:0 auto}.search-row{display:flex;gap:8px}.search-row .input{max-width:340px}@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}}@media(max-width:980px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.main{margin-left:0;width:100%}.menu-btn{display:block}}@media(max-width:640px){.content{padding:16px}.cards{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.page-head{flex-direction:column}.top-user strong{display:none}.search-row{flex-direction:column}.search-row .input{max-width:none}}

.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{display:flex!important;align-items:center;gap:9px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f8fafc;font-size:12px!important}.check input{width:16px;height:16px}.check span{font-weight:600;color:#415064}@media(max-width:640px){.check-grid{grid-template-columns:1fr}}

.media-hero{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;margin-bottom:18px}.media-brand-card{background:linear-gradient(135deg,#07192b,#0d3763);color:#fff;border-radius:14px;padding:22px;position:relative;overflow:hidden;min-height:220px}.media-brand-card:after{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-80px;top:-70px}.media-brand-card .kicker{font-size:11px;letter-spacing:1.5px;color:#8cc7ff;font-weight:800}.media-brand-card h2{font-size:34px;margin:12px 0 4px}.media-brand-card p{max-width:560px;color:#c9d7e6;line-height:1.6}.media-brand-card .hierarchy{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:18px;font-size:11px}.media-brand-card .hierarchy span{background:rgba(255,255,255,.08);padding:7px 9px;border-radius:999px}.media-side{display:grid;gap:14px}.mini-stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:var(--shadow)}.mini-stat strong{font-size:22px;display:block}.mini-stat small{color:var(--muted)}.role-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.role-card{border:1px solid var(--line);border-radius:10px;padding:13px;background:#f9fbfd}.role-card strong{display:block;font-size:12px}.role-card small{display:block;color:var(--muted);font-size:10px;margin-top:5px;line-height:1.4}.migration-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.migration-line .step{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:11px}.migration-line .arrow{color:var(--muted)}@media(max-width:900px){.media-hero{grid-template-columns:1fr}.role-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.role-grid{grid-template-columns:1fr}}

/* CETIL-CEO v1.3 */
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.permission-module{grid-column:1/-1;margin:14px 0 2px;padding-bottom:7px;border-bottom:1px solid var(--line);font-size:12px;text-transform:uppercase;letter-spacing:.8px;color:#516173}.check span{display:flex;flex-direction:column;gap:2px}.check span small{font-weight:400;color:var(--muted);font-size:10px}.role-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.role-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.role-admin-head strong{font-size:15px;display:block}.role-admin-head small{color:var(--muted);font-size:10px}.role-admin-grid p{color:var(--muted);font-size:12px;line-height:1.55;min-height:38px}.role-meta{font-size:11px;color:#536172;margin:10px 0 14px}.help-text{color:var(--muted);font-size:12px;line-height:1.65}.filter-row{display:grid;grid-template-columns:minmax(220px,1fr) 190px auto;gap:8px;width:100%;align-items:center}.article-editor{min-height:320px;font-family:Georgia,serif;line-height:1.65}.migration-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.check-list{padding-left:20px;margin:0;color:#4d5b6a;font-size:12px;line-height:1.9}.actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:1000px){.role-admin-grid{grid-template-columns:1fr 1fr}}@media(max-width:740px){.permission-grid,.role-admin-grid,.migration-board{grid-template-columns:1fr}.filter-row{grid-template-columns:1fr}.permission-module{grid-column:auto}}

/* CETIL-CEO v1.4 — CREDENTIALS + TALENT */
.credentials-filter{grid-template-columns:minmax(220px,1.2fr) minmax(170px,.7fr) minmax(150px,.55fr) auto}.credential-summary{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr);gap:16px}.credential-main h2{font-size:24px;margin:14px 0 4px}.credential-state{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:12px}.credential-holder{font-size:20px;font-weight:800;color:#0c3768;margin-bottom:14px}.credential-main p{color:#4d5d70;line-height:1.7}.credential-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.credential-facts>div{padding:12px;border:1px solid var(--line);border-radius:9px;background:#f9fbfd}.credential-facts small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.6px;margin-bottom:4px}.credential-facts strong{font-size:12px}.public-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:18px;font-weight:800;letter-spacing:.7px;background:#071d40;color:#fff;padding:12px 13px;border-radius:9px;margin:7px 0 16px;word-break:break-word}.soft-line{border:0;border-top:1px solid var(--line);margin:18px 0}.credential-control{display:flex;gap:12px;align-items:flex-end}.credential-control .field{flex:1}.talent-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:16px;background:linear-gradient(135deg,#07192b,#0d3763);color:#fff;border-radius:14px;padding:24px;margin-bottom:18px;position:relative;overflow:hidden}.talent-hero:after{content:"";position:absolute;width:300px;height:300px;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:-120px;top:-130px}.talent-hero span{font-size:10px;letter-spacing:1.4px;color:#89c5ff;font-weight:800}.talent-hero h2{font-size:28px;line-height:1.15;margin:10px 0}.talent-hero p{color:#cad8e6;line-height:1.65;margin:0}.talent-policy{position:relative;z-index:2;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:16px}.talent-policy strong{font-size:11px;letter-spacing:1px;color:#9fd0ff}.talent-policy p{font-size:12px;line-height:1.9;margin-top:8px}.talent-org-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(310px,.6fr);gap:16px}.company-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.company-title-row h2{margin:4px 0 14px;font-size:24px}.eyebrow{color:#0d5db8;font-weight:800;letter-spacing:1.1px;font-size:9px}.talent-textarea{min-height:180px}.table code{font-size:11px;background:#eef3f8;padding:4px 6px;border-radius:5px;color:#24415d}@media(max-width:900px){.credential-summary,.talent-hero,.talent-org-grid{grid-template-columns:1fr}.credentials-filter{grid-template-columns:1fr}.credential-control{flex-direction:column;align-items:stretch}}@media(max-width:640px){.credential-facts{grid-template-columns:1fr}}
