*,:before,:after{box-sizing:border-box}body{margin:0}:root{--kin-navy:#14335b;--kin-blue:#1e73b0;--kin-blue-050:#eaf2f9;--kin-gray:#a5a7aa;--kin-bg:#f7f8fa;--kin-line:#e3e6ea;--kin-text:#1c2530;--kin-success:#1f7a4d;--kin-warning:#b7791f;--kin-danger:#b23a3a}body{background:var(--kin-bg);color:var(--kin-text);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px}.content{width:100%;max-width:1200px;margin:0 auto;padding:24px}.appbar{z-index:50;border-bottom:1px solid var(--kin-line);background:#fff;position:sticky;top:0}.appbar-row{align-items:center;height:56px;padding:0 20px;display:flex}.appbar .brand{color:var(--kin-navy);letter-spacing:.5px;white-space:nowrap;margin-right:20px;font-size:20px;font-weight:700}.appbar .brand span{color:var(--kin-gray)}.appnav{align-items:stretch;height:56px;display:flex}.appnav-group{display:flex}.appnav-item{height:56px;color:var(--kin-text);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:4px;padding:0 14px;font-family:inherit;font-size:14px;text-decoration:none;display:flex}.appnav-item:hover{color:var(--kin-navy)}.appnav-item.active{color:var(--kin-navy);border-bottom-color:var(--kin-blue);background:var(--kin-blue-050)}.appnav-item .caret{opacity:.5;border-top:5px solid;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0;margin-left:3px;transition:transform .15s}.appnav-item[aria-expanded=true] .caret{opacity:.9;transform:rotate(180deg)}.appbar .utils{align-items:center;gap:10px;margin-left:auto;display:flex}.appbar .avatar{background:var(--kin-blue);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;display:flex}.appbar .who2{color:#5a6572;font-size:13px;line-height:1.2}.appbar .who2 b{color:var(--kin-navy);font-weight:500;display:block}.mega{border-bottom:1px solid var(--kin-line);background:#fff;position:absolute;top:100%;left:0;right:0;box-shadow:0 12px 26px #14335b1a}.mega-inner{gap:30px;max-width:1200px;margin:0 auto;padding:22px 20px;display:flex}.mega-col{flex:none;min-width:210px}.mega-col-title{text-transform:uppercase;letter-spacing:.5px;color:#98a2b0;margin:0 0 6px 10px;font-size:11px}.mega-link{border-radius:8px;padding:9px 10px;text-decoration:none;display:block}.mega-link:hover{background:var(--kin-bg)}.mega-link b{color:var(--kin-navy);font-size:14px;font-weight:500;display:block}.mega-link small{color:#6b7684;font-size:12px}.mega-cta{background:var(--kin-blue-050);border-radius:10px;flex:none;align-self:flex-start;width:236px;margin-left:auto;padding:16px}.mega-cta h4{color:var(--kin-navy);margin:0 0 4px;font-size:14px;font-weight:500}.mega-cta p{color:#185fa5;margin:0 0 12px;font-size:12px;line-height:1.5}.page{width:100%;max-width:1200px;margin:0 auto;padding:24px}h1.page-title{color:var(--kin-navy);margin:0 0 4px;font-size:20px}.page-sub{color:#6b7684;margin:0 0 20px;font-size:13px}.page-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.card{background:#fff;border:1px solid #e3e6ea;border-radius:10px;margin-bottom:16px;padding:18px}.btn{background:var(--kin-blue);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:7px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.btn:hover{filter:brightness(1.08)}.btn.secondary{color:var(--kin-navy);background:#fff;border-color:#cdd4dc}.btn.danger{background:var(--kin-danger)}.btn.sm{padding:4px 10px;font-size:12px}.btn:disabled{opacity:.55;cursor:not-allowed}table.data{border-collapse:collapse;background:#fff;width:100%}table.data th{text-align:left;text-transform:uppercase;letter-spacing:.6px;color:#6b7684;border-bottom:2px solid #e3e6ea;padding:10px 12px;font-size:11px}table.data td{border-bottom:1px solid #eef0f3;padding:11px 12px}table.data tr.clickable{cursor:pointer}table.data tr.clickable:hover td{background:#f4f7fa}.badge{color:var(--kin-navy);background:#e8edf3;border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:600;display:inline-block}.badge.green{color:var(--kin-success);background:#e2f2e9}.badge.orange{color:var(--kin-warning);background:#f8ecd9}.badge.red{color:var(--kin-danger);background:#f7e3e3}.badge.blue{color:var(--kin-blue);background:#e0edf7}.field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.field label{color:#414d5a;font-size:12px;font-weight:600}.field label .req{color:var(--kin-danger)}.field input,.field select,.field textarea{color:var(--kin-text);background:#fff;border:1px solid #cdd4dc;border-radius:7px;padding:8px 10px;font-family:inherit;font-size:13.5px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--kin-blue);outline-offset:-1px}.form-grid{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.form-grid .full{grid-column:1/-1}.toolbar{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.toolbar input,.toolbar select{border:1px solid #cdd4dc;border-radius:7px;padding:8px 10px;font-size:13px}.toolbar input[type=search]{min-width:260px}.alert{border-radius:8px;margin-bottom:12px;padding:10px 14px;font-size:13px}.alert.error{color:var(--kin-danger);background:#f7e3e3}.alert.warning{color:var(--kin-warning);background:#f8ecd9}.alert.info{color:var(--kin-blue);background:#e0edf7}.modal-backdrop{z-index:50;background:#0f1c2d73;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:100%;max-width:640px;max-height:90vh;padding:22px;overflow-y:auto}.modal h2{color:var(--kin-navy);margin:0 0 16px;font-size:17px}.modal .actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.kanban{gap:12px;padding-bottom:12px;display:flex;overflow-x:auto}.kanban .col{background:#eef1f4;border-radius:10px;flex-shrink:0;width:210px;min-width:210px;padding:10px}.kanban .col h3{text-transform:uppercase;letter-spacing:.6px;color:#55606d;justify-content:space-between;margin:2px 4px 10px;font-size:12px;display:flex}.kanban .kcard{background:#fff;border:1px solid #e0e4e9;border-radius:8px;margin-bottom:8px;padding:10px;font-size:13px}.kanban .kcard .name{color:var(--kin-navy);font-weight:600}.kanban .kcard .meta{color:#6b7684;margin-top:2px;font-size:12px}.kanban .kcard .move{gap:6px;margin-top:8px;display:flex}.kanban .kcard select{border:1px solid #cdd4dc;border-radius:6px;width:100%;padding:4px;font-size:12px}.stat-row{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:20px;display:grid}.stat{background:#fff;border:1px solid #e3e6ea;border-radius:10px;padding:16px}.stat .value{color:var(--kin-navy);font-size:26px;font-weight:700}.stat .label{color:#6b7684;margin-top:2px;font-size:12.5px}.login-page{background:var(--kin-navy);place-items:center;min-height:100vh;display:grid}.login-card{background:#fff;border-radius:14px;width:100%;max-width:380px;padding:34px}.login-card .brand{color:var(--kin-navy);text-align:center;font-size:26px;font-weight:700}.login-card .brand span{color:var(--kin-gray)}.login-card .tagline{text-align:center;color:var(--kin-blue);letter-spacing:2px;margin:4px 0 24px;font-size:11px}.empty{text-align:center;color:#8a93a0;padding:32px}.muted{color:#6b7684;font-size:12.5px}
