/* DIGIKET OS — shared workspace refinement. Keep module business logic untouched. */
:root{--g-radius-sm:10px;--g-radius-md:16px;--g-radius-lg:22px;--g-sidebar:254px;--g-topbar:72px}
body{background:#edf4f8}
button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #24b4d8;outline-offset:3px}

/* Sign in */
.login-screen{background:radial-gradient(circle at 10% 100%,#d6ebf3,transparent 34%),#edf4f8;color:#173846;padding:clamp(16px,3vw,38px)}
.login-layout{width:min(100%,1060px);min-height:min(680px,calc(100dvh - 76px));display:grid;grid-template-columns:1.06fr .94fr;overflow:hidden;background:#fff;border:1px solid #d7e6ed;border-radius:28px;box-shadow:0 28px 90px #12334d22}
.login-intro{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:42px clamp(32px,4vw,60px);overflow:hidden;background:radial-gradient(circle at 100% 0%,#17678a 0%,transparent 42%),linear-gradient(145deg,#071a2d,#0a344d);color:#fff}
.login-intro::after{content:'';position:absolute;width:410px;height:410px;border:1px solid #ffffff17;border-radius:50%;right:-155px;bottom:-215px;box-shadow:0 0 0 80px #ffffff06,0 0 0 160px #ffffff05;pointer-events:none}
.login-intro-logo{width:164px;max-height:50px;object-fit:contain;object-position:left center;position:relative;z-index:1}
.login-intro-copy{position:relative;z-index:1;max-width:440px}.login-eyebrow,.login-intro-foot{color:#72d7ee;font-size:.67rem;letter-spacing:.17em;font-weight:800}.login-intro h2{font-size:clamp(2.5rem,4.3vw,4.2rem);letter-spacing:-.065em;line-height:1.06;margin:18px 0 18px}.login-intro h2 em{font-style:normal;color:#77deed}.login-intro p{color:#bed7e5;font-size:.98rem;line-height:1.7;max-width:340px;margin:0}.login-intro-foot{position:relative;z-index:1;color:#8caebd}
.login-card{align-self:center;justify-self:center;width:min(100%,440px);padding:46px clamp(26px,4vw,52px);gap:20px;border:0;border-radius:0;box-shadow:none;background:#fff;color:#173846}
.login-brand{text-align:left;display:flex;align-items:center;gap:11px}.login-app-icon{width:44px;height:44px;object-fit:contain;border-radius:11px;box-shadow:0 6px 17px #0a7d9d28}.login-brand span{font-size:.67rem;letter-spacing:.16em;color:#198caa;font-weight:850}
.login-heading{text-align:left;margin:13px 0 4px}.login-heading .page-title{font-size:clamp(2rem,3vw,2.55rem);letter-spacing:-.055em;color:#173846;margin:0 0 8px}.login-heading p{color:#6b8793;font-size:.89rem}
.login-card .field-label{color:#426575;letter-spacing:.09em;font-size:.69rem}.login-card .field input{min-height:49px;background:#f5fafc;border:1px solid #d6e7ee;color:#173846}.login-card .field input::placeholder{color:#8ca4af;opacity:1}.login-card .field input:focus{border-color:#1a9fbd;box-shadow:0 0 0 4px #16a6c51a}.login-card .btn-primary{min-height:49px;background:#087fa5;color:#fff;border:1px solid #087fa5;box-shadow:0 10px 23px #087fa52c}.login-card .btn-primary:hover{background:#066b8b}.login-card .login-error{min-height:1.2em;margin:0}.login-help{margin:0;color:#91a4ae;font-size:.71rem;text-align:center}

/* Navigation and top bar */
.app-shell{--g-content:1510px;--g-bg:#f2f7fa;--g-text:#183745;--g-text-2:#375665;--g-muted:#6f8996;--g-border:#dbe8ed;--g-border-2:#c9dce5;--g-surface-2:#f1f8fa;--g-surface-3:#e7f2f6;--g-accent:#0b88ad;--g-accent-2:#0aa4cd;background:#f2f7fa}
.app-shell .app-sidebar{background:linear-gradient(170deg,#071b2d,#0b2a40 78%,#0a3146);border-color:#234457;box-shadow:8px 0 30px #0c283813}
.sidebar-header{padding:27px 24px 12px}.sidebar-header .brand-logo{width:146px;max-height:48px;object-fit:contain;object-position:left center;margin:0}
.nav-list{padding:14px 12px 20px;gap:3px}.nav-section-label{display:block;padding:18px 13px 7px;color:#638ca0;font-size:.61rem;letter-spacing:.17em;font-weight:850;user-select:none}.nav-section-label:first-child{padding-top:3px}
.app-shell .nav-button{min-height:42px;padding:10px 13px;border-radius:10px;color:#a9c2cf;font-size:.82rem;font-weight:600;gap:13px}.app-shell .nav-icon{width:19px;height:19px;opacity:.86}.app-shell .nav-button:hover:not(:disabled){background:#ffffff12;color:#fff}.app-shell .nav-button.is-active,.app-shell .nav-button[aria-current="page"]{background:#1c5871;color:#fff;box-shadow:inset 0 0 0 1px #ffffff12}.app-shell .nav-button.is-active .nav-icon{color:#8ceaff;opacity:1}.app-shell .nav-button.is-active::before,.app-shell .nav-button[aria-current="page"]::before{left:0;height:25px;width:3px;background:#61d5ec}
.sidebar-footer{padding:15px 16px 20px;border-color:#ffffff16}.app-shell .user-badge{padding:9px;border:1px solid #ffffff14;background:#ffffff09;border-radius:13px}.app-shell .user-avatar{background:#19607a;color:#c9f5ff;font-size:.75rem}.app-shell .user-name{font-weight:750}.app-shell .user-role{color:#8eafbf}
.app-shell .app-topbar{min-height:72px;padding:0 clamp(18px,2.3vw,38px);background:#ffffffed;border-bottom:1px solid #dce9ef;box-shadow:0 5px 20px #164b5508}.topbar-context{display:flex;flex-direction:column;gap:2px;min-width:0}.topbar-context span{font-size:.58rem;letter-spacing:.15em;color:#6b97a6;font-weight:800}.topbar-context strong{font-size:.97rem;color:#173f50;letter-spacing:-.025em}.topbar-right{gap:7px}.app-shell .topbar-btn{color:#5a7987;border:1px solid transparent}.app-shell .topbar-btn:hover{background:#edf7fa;color:#0a799c;border-color:#d9ecf1}.app-shell .topbar-signout:hover{background:#fff0f1;color:#b74451;border-color:#f5d5d9}
.app-content{padding:clamp(22px,2.6vw,38px) clamp(18px,2.6vw,38px) 64px}.app-content>.page-header{margin-bottom:25px}.app-shell .page-title{font-size:clamp(1.7rem,2.45vw,2.35rem);line-height:1.15;font-weight:800;color:#173947;letter-spacing:-.05em}.page-header .muted{display:block;margin:7px 0 0;font-size:.86rem;line-height:1.45}.header-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}

/* One component language across every module */
.app-shell .card,.app-shell .dash-panel,.app-shell .person-card,.app-shell .approval-card,.app-shell .checkin-card,.app-shell .settings-section,.app-shell .att-summary-item{background:#fff;border:1px solid #deeaee;border-radius:17px;box-shadow:0 8px 28px #143f5010}
.app-shell .card:hover,.app-shell .person-card:hover,.app-shell .approval-card:hover{border-color:#b4dce5;box-shadow:0 14px 32px #143f501b}
.app-shell .btn{border-radius:10px;font-weight:750;letter-spacing:-.01em}.app-shell .btn-primary{background:#0b84a9;border-color:#0b84a9;color:#fff;box-shadow:0 5px 13px #0a89ae21}.app-shell .btn-primary:hover:not(:disabled){background:#087395;border-color:#087395}.app-shell .btn-secondary{background:#f3f9fb;border-color:#d5e7ed;color:#28566a}.app-shell .btn-secondary:hover:not(:disabled){background:#e9f5f8;border-color:#b8dce6}
.app-shell .field-label{color:#517484;font-size:.69rem;font-weight:800;letter-spacing:.075em}.app-shell .field input,.app-shell .field select,.app-shell .field textarea,.app-shell .input-select{background:#f8fbfc;color:#1c4352;border:1px solid #d7e6eb;border-radius:10px}.app-shell .field input:focus,.app-shell .field select:focus,.app-shell .field textarea:focus,.app-shell .input-select:focus{background:#fff;border-color:#24a9c7;box-shadow:0 0 0 4px #1db1d21a}.app-shell .field input::placeholder{color:#8fa9b4;opacity:1}
.app-shell .filters-bar:not(.task-filters),.app-shell .filter-bar{display:flex;align-items:center;gap:12px;padding:13px!important;margin-bottom:22px!important;border:1px solid #dfeaed;border-radius:15px;background:#fff;box-shadow:0 5px 18px #143f5008}.app-shell .filters-bar .field{min-width:0}.app-shell .filters-bar input,.app-shell .filters-bar select{min-height:42px}
.app-shell .table-wrap{background:#fff;border-color:#dce9ee;border-radius:15px;box-shadow:0 8px 28px #143f500c}.app-shell table{background:#fff}.app-shell th{background:#f7fbfc;color:#598092;font-size:.68rem;font-weight:800;letter-spacing:.095em}.app-shell td{color:#2c4b59}.app-shell th,.app-shell td{border-color:#e7eff2}.app-shell tbody tr:hover{background:#f4fafc}
.app-shell .status,.app-shell .priority,.app-shell .person-role-badge{font-weight:750}.app-shell .empty-state{color:#72909e}.app-shell .empty-state.card{border-style:dashed;background:#fbfdfe}
.app-shell .modal{background:#fff;border-color:#d6e7ed;border-radius:20px;box-shadow:0 24px 70px #0c324454}.app-shell .modal-title{color:#1b4352;font-weight:800}.app-shell .modal-actions{border-color:#e4edf0}
.app-shell .notification-panel{background:#fff;border-color:#d8e8ee;box-shadow:0 24px 60px #0f344130}.app-shell .notification-item:hover{background:#f0f8fa}.app-shell .toast{box-shadow:0 15px 35px #0b344331}

/* Content hierarchy */
.app-shell .pulse-grid,.app-shell .dash-panels,.app-shell .people-grid,.app-shell .task-grid,.app-shell .board-list{gap:18px}.app-shell .pulse-card{padding:23px;min-height:130px;border:1px solid #dce9ee;border-radius:17px;background:#fff;box-shadow:0 8px 28px #143f500e}.app-shell .pulse-card:hover{box-shadow:0 15px 36px #143f5019}.app-shell .pulse-number{font-size:2rem;letter-spacing:-.055em;color:#123b4b}.app-shell .pulse-label{color:#648391;font-size:.68rem;font-weight:850;letter-spacing:.1em}.app-shell .pulse-icon{color:#1399bb;opacity:.64}.app-shell .dash-panel{overflow:hidden}.app-shell .panel-title{padding:19px 22px;color:#315b6d;font-size:.74rem;font-weight:850;letter-spacing:.09em;background:#fbfdfe}.app-shell .panel-body{padding:22px}
.app-shell .person-card,.app-shell .approval-card{padding:21px}.app-shell .person-avatar{background:#e2f5f8;color:#0a8cab}.app-shell .person-name{color:#173f50}.app-shell .task-summary-card{background:#fff;border-color:#dce9ed;border-radius:11px}.app-shell .task-summary-card.is-active{background:#e8f7fa}.app-shell .task-filters{border-color:#dce9ed;border-radius:15px;padding:15px;box-shadow:0 5px 18px #143f500a}.app-shell .task-card{border-radius:16px}.app-shell .task-card h3{color:#173f50}.app-shell .task-detail-grid>div{background:#f9fcfd;border-color:#e0ebef;border-radius:10px}
.app-shell .board-card{border-radius:16px}.app-shell .board-toolbar{border-color:#dce9ed;border-radius:13px;box-shadow:0 5px 18px #143f500d}.app-shell .board-canvas-wrap{border-color:#d4e5eb;border-radius:14px;background-color:#f5fafb}.app-shell .board-node{border-color:#d8e7ed;box-shadow:0 9px 22px #153d4b1b}
.app-shell .client-card,.app-shell .project-card{position:relative;overflow:hidden;min-height:158px;padding:22px!important;border:1px solid #dce9ed!important;border-radius:17px;background:linear-gradient(150deg,#fff,#fbfefe);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.app-shell .client-card::before,.app-shell .project-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#44b8d1;opacity:.6}.app-shell .client-card:hover,.app-shell .project-card:hover{transform:translateY(-3px);border-color:#a7d6e2!important;box-shadow:0 17px 37px #143f501c}.app-shell .client-card h3,.app-shell .project-card h3{color:#173d4d;line-height:1.35;letter-spacing:-.02em}.app-shell .client-card>div:last-child{border-color:#e6eff2!important}.app-shell .project-card>div:last-child{padding-top:12px;border-top:1px solid #e6eff2}.app-shell .tabs{overflow-x:auto;scrollbar-width:thin}.app-shell .tab-btn{white-space:nowrap;color:#668795;font-weight:700}.app-shell .tab-btn.is-active{color:#0a85a8}

@media(max-width:1024px){.login-layout{min-height:620px}.login-intro{padding:36px}.login-intro h2{font-size:2.8rem}}
@media(max-width:900px){.app-shell .app-sidebar{box-shadow:16px 0 55px #071b2d35}.topbar-context{margin-left:13px}.app-content{padding:24px 19px 55px}}
@media(max-width:680px){.login-screen{padding:0;background:#fff;display:block}.login-layout{min-height:100dvh;display:flex;flex-direction:column;border:0;border-radius:0;box-shadow:none}.login-intro{min-height:215px;padding:28px 26px 30px}.login-intro-logo{width:126px}.login-intro-copy{margin-top:26px}.login-intro h2{font-size:1.75rem;margin:8px 0}.login-intro p,.login-intro-foot{display:none}.login-card{width:100%;padding:30px 26px 40px;gap:17px}.login-heading{margin:4px 0}.app-shell{--g-topbar:64px}.app-shell .app-topbar{min-height:64px;padding:0 16px}.topbar-context span{font-size:.52rem}.topbar-context strong{font-size:.85rem}.topbar-btn{width:37px;height:37px}.app-content{padding:21px 15px 45px}.app-shell .filters-bar:not(.task-filters){align-items:stretch}.app-shell .filters-bar .field{flex:1 1 100%!important;min-width:0!important}.app-shell .filters-bar select{width:100%}.app-shell .pulse-grid{gap:10px}.app-shell .pulse-card{padding:16px;min-height:110px}.app-shell .pulse-number{font-size:1.55rem}.app-shell .panel-body{padding:16px}.app-shell .person-card{padding:17px}.app-shell .modal-backdrop{padding:12px}}
@media(prefers-reduced-motion:reduce){.app-shell .card,.app-shell .btn,.app-shell .pulse-card,.app-shell .task-card{transition:none}}
