:root{--blue:#0d6efd;--navy:#082455;--navy2:#123665;--sky:#dcefff;--bg:#f4f7fc;--card:#fff;--line:#dce5f0;--ink:#193048;--muted:#64788e;--green:#168663;--orange:#b8670d;--red:#c43d53;--radius:16px;--shadow:0 10px 35px rgba(25,48,72,.065)}*{box-sizing:border-box}html{font-size:16px}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{display:flex;min-height:100vh}.sidebar{width:264px;flex:0 0 264px;background:linear-gradient(170deg,#092955 0%,#061d42 100%);color:#fff;display:flex;flex-direction:column;padding:24px 14px;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:20}.brand{display:flex;align-items:center;gap:12px;color:#fff;font-size:1.3rem;font-weight:800;letter-spacing:-.04em;padding:3px 14px}.brand-mark{width:37px;height:37px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(140deg,#36b8f9,#0d6efd);color:white;box-shadow:0 7px 18px rgba(13,110,253,.38)}.brand.large{color:var(--navy);font-size:1.7rem;padding:0;margin-bottom:26px}.brand.large .brand-mark{width:48px;height:48px;font-size:1.4rem}.company-chip{display:flex;align-items:center;gap:9px;color:#cfe4ff;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.07);padding:11px 12px;margin:26px 10px 24px;font-size:.82rem;line-height:1.3}.chip-dot{width:8px;height:8px;border-radius:50%;background:#55dfb7;flex-shrink:0}.sidebar nav{display:grid;gap:4px}.nav-item{display:flex;align-items:center;gap:11px;color:#c1d5ed;border-radius:10px;padding:10px 13px;font-size:.92rem;font-weight:550}.nav-item:hover,.nav-item.active{background:rgba(44,139,248,.25);color:#fff}.nav-item.active{box-shadow:inset 3px 0 #55d2ff}.nav-icon{font-size:1.05rem;opacity:.9;width:21px;text-align:center}.sidebar-bottom{display:flex;gap:10px;align-items:center;margin-top:auto;padding:19px 10px 0;border-top:1px solid rgba(255,255,255,.12)}.sidebar-bottom .icon-button{color:#fff}.avatar{width:35px;height:35px;display:grid;place-items:center;background:#dceaff;color:var(--navy);font-weight:800;border-radius:12px;flex-shrink:0}.avatar.small{width:33px;height:33px}.account-name{display:flex;flex-direction:column;font-size:.8rem;overflow:hidden}.account-name strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:122px}.account-name span{color:#9eb9d9}.workspace{min-width:0;flex:1}.topbar{height:72px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,3vw,36px);border-bottom:1px solid var(--line)}.topbar-title{display:grid;gap:1px}.topbar-title small{font-size:.64rem;letter-spacing:.12em;color:#8193a7;font-weight:800}.topbar-title strong{font-size:1rem;color:var(--navy)}.topbar-actions{display:flex;align-items:center;gap:18px}.today{color:var(--muted);font-size:.85rem}.icon-button{border:0;background:transparent;color:var(--navy);font-size:1.3rem;padding:4px}.menu-toggle{display:none;border:0;background:none;font-size:1.35rem;color:var(--navy)}.content{max-width:1480px;margin:auto;padding:clamp(18px,3vw,36px)}.page-heading{margin-bottom:26px;display:flex;justify-content:space-between;gap:16px;align-items:end}.page-heading h1,h1{font-size:clamp(1.4rem,2vw,1.9rem);letter-spacing:-.035em;color:var(--navy);margin:0 0 5px}.page-heading p,p.muted{margin:0;color:var(--muted)}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.split{display:grid;grid-template-columns:minmax(300px,430px) minmax(0,1fr);align-items:start;gap:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:18px;overflow:hidden}.card-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 22px;border-bottom:1px solid var(--line)}.card-head h2{font-size:1.02rem;color:var(--navy);margin:0}.card-body{padding:22px}.stat{padding:20px 22px;min-height:122px}.stat .label{color:var(--muted);font-size:.82rem}.stat .value{font-size:1.85rem;color:var(--navy);font-weight:800;margin:7px 0 0;letter-spacing:-.04em}.stat .hint{font-size:.77rem;color:var(--muted)}.stat.blue{border-top:3px solid var(--blue)}.stat.green{border-top:3px solid #31b78c}.stat.orange{border-top:3px solid #f0ad46}.stat.red{border-top:3px solid #e87b8e}.field{display:grid;gap:7px;color:#36516a;font-size:.84rem;font-weight:650;margin-bottom:14px}.field input,.field select,.field textarea,input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{width:100%;border:1px solid #cbd9e8;border-radius:10px;background:#fff;padding:11px 12px;color:var(--ink);outline:none;min-height:43px}.field input:focus,.field select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(13,110,253,.12)}textarea{resize:vertical;min-height:88px}.checkbox{display:flex;align-items:center;gap:9px;font-size:.88rem;padding:5px 0}.checkbox input{accent-color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:10px;padding:10px 16px;min-height:42px;font-weight:700;font-size:.88rem;background:#fff;color:var(--navy)}.button.primary{background:var(--blue);color:white;box-shadow:0 6px 16px rgba(13,110,253,.18)}.button.primary:hover{background:#0a5cda}.button.secondary{border-color:#bbd3f6;color:var(--blue);background:#f7fbff}.button.ghost{border-color:var(--line);color:var(--ink)}.button.danger{background:#fff2f4;color:var(--red);border-color:#ffcbd4}.button.small{padding:6px 10px;min-height:32px;font-size:.75rem}.button-row{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.badge{display:inline-block;padding:5px 9px;border-radius:30px;font-size:.72rem;font-weight:750;white-space:nowrap}.badge.green{background:#dcf7eb;color:#087d51}.badge.gray{background:#e9eef4;color:#53677b}.badge.orange{background:#fff1d9;color:#a05b03}.badge.blue{background:#e0edff;color:#165bac}.badge.red{background:#ffebef;color:#a72f4a}.alert{padding:13px 16px;border-radius:11px;background:#eaf3ff;color:#174d88;margin-bottom:18px;border:1px solid #c7e0ff}.alert.success{background:#e9f8f0;color:#146746;border-color:#b9eed2}.alert.warning{background:#fff4dd;color:#80540b;border-color:#f7dc9e}.alert.danger,.alert.error{background:#fff0f1;color:#a32d45;border-color:#f5c5cf}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.86rem}th,td{padding:11px 12px;border-bottom:1px solid #e8edf4;text-align:left;vertical-align:top}th{color:#5d7186;font-size:.74rem;letter-spacing:.025em;text-transform:uppercase;background:#f8fafd}tr:hover td{background:#fafcff}.empty{padding:34px;text-align:center;color:var(--muted)}.auth-body{display:grid;min-height:100vh;place-items:center;padding:20px;background:radial-gradient(circle at 10% 20%,#dceeff,transparent 43%),radial-gradient(circle at 95% 90%,#e1eafe,transparent 45%),#f4f7fc}.auth-card{width:min(100%,530px);background:#fff;border-radius:20px;padding:clamp(25px,4vw,44px);box-shadow:0 25px 80px rgba(9,42,88,.12);border:1px solid var(--line)}.auth-card h1{margin:0 0 7px}.auth-card>p{color:var(--muted);margin:0 0 25px}.auth-card .button{width:100%}.small{font-size:.8rem}.muted{color:var(--muted)}.list{display:grid;gap:8px}.list-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}.list-item:hover{background:#f5f9ff}.day-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.day-chip{border:1px solid var(--line);border-radius:9px;text-align:center;padding:7px 2px;font-size:.84rem}.day-chip input{accent-color:var(--blue)}.photo-preview{max-width:230px;max-height:150px;object-fit:contain;border-radius:9px}.details{border:1px solid var(--line);border-radius:10px;margin:8px 0;overflow:hidden}.details summary{cursor:pointer;padding:13px 16px;background:#fff;font-weight:700}.details>div{padding:15px;border-top:1px solid var(--line)}.pill{display:inline-block;color:var(--muted);font-size:.78rem;background:#edf3fa;border-radius:6px;padding:3px 7px}.qr-box{display:grid;place-items:center;border:1px dashed #a6bfd9;border-radius:12px;padding:15px;min-height:120px}.footer-note{margin-top:20px;font-size:.78rem;color:var(--muted)}@media(max-width:1100px){.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.sidebar{position:fixed;left:-280px;transition:left .2s}.sidebar.open{left:0;box-shadow:20px 0 55px rgba(5,20,55,.25)}.menu-toggle{display:block}.topbar-title{margin-right:auto;margin-left:15px}.split{grid-template-columns:1fr}.content{padding:20px}.topbar-actions .today{display:none}}@media(max-width:580px){.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.topbar{height:64px;padding:0 16px}.content{padding:16px}.card-head,.card-body{padding:16px}.page-heading{align-items:start;flex-direction:column}.day-grid{gap:4px}.day-chip{padding:6px 0}.auth-card{padding:25px}.button-row .button{flex:1}}
@media print{.sidebar,.topbar,.page-heading,.form-actions,.alert{display:none!important}.shell,.workspace,.content{display:block!important;min-height:0;padding:0!important;margin:0!important;background:#fff!important}.card{border:0!important;box-shadow:none!important;margin:0!important}.card-head{border:0!important;padding:0!important}.card-body{padding:0!important}.qr-box{border:0!important;break-inside:avoid;padding:20mm!important}.qr-box svg{width:55mm;height:55mm}}
