*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#f5f6f8;color:#1f2937}.employee-page{padding:32px}.employee-page-header{margin-bottom:24px}.employee-page-header h1{margin:0 0 8px;font-size:28px}.employee-page-header p{margin:0;color:#6b7280}.employee-card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 8px #0000000d}.employee-table{width:100%;border-collapse:collapse}.employee-table th,.employee-table td{padding:14px 12px;text-align:left;border-bottom:1px solid #e5e7eb}.employee-table th{font-weight:600;background:#f9fafb}.employee-table tbody tr:hover{background:#f9fafb}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:20px}.pagination button{border:1px solid #d1d5db;background:#fff;padding:8px 16px;border-radius:6px;cursor:pointer}.pagination button:disabled{opacity:.5;cursor:not-allowed}.error-message{background:#fee2e2;color:#b91c1c;padding:12px 16px;border-radius:6px;margin-bottom:16px}.lang-picker{position:relative;display:flex;align-items:center;gap:9px;height:40px;padding:0 12px;border:1px solid #d9e5ef;border-radius:999px;background:#f8fbfe;color:#1d4f73;font-size:12px;box-shadow:0 1px 2px #0e2a410a;transition:border-color .15s,box-shadow .15s,background .15s}.lang-picker:hover,.lang-picker:focus-within{border-color:#8eb8d5;background:#fff;box-shadow:0 0 0 3px #1673ad17}.lang-toggle{display:flex;align-items:center;gap:6px;border:0;outline:0;background:transparent;color:#18384f;font:inherit;font-size:12px;font-weight:600;cursor:pointer;max-width:180px}.lang-toggle .flag{width:22px;height:15px;border-radius:2px;overflow:hidden;flex-shrink:0;box-shadow:0 0 0 1px #0e1a2614}.lang-toggle .flag svg{display:block;width:100%;height:100%}.lang-toggle .caret{margin-left:2px;font-size:9px;color:#8aa0b0}.lang-menu{position:absolute;top:44px;right:0;min-width:172px;z-index:50;background:#fff;border:1px solid #e8edf2;border-radius:10px;box-shadow:0 14px 34px #0e1a2624;padding:5px}.lang-menu button{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:0;background:none;border-radius:7px;font:inherit;font-size:13px;font-weight:600;color:#182a3a;cursor:pointer;text-align:left;transition:background .15s}.lang-menu button:hover{background:#f1f5f9}.lang-menu button.active{background:#e7f2fa;color:#075b91}.lang-menu button .flag{width:22px;height:15px;border-radius:2px;overflow:hidden;flex-shrink:0;box-shadow:0 0 0 1px #0e1a2614}.lang-menu button .flag svg{display:block;width:100%;height:100%}.lang-picker--corner{position:fixed;top:16px;right:20px;z-index:60}@media(max-width:520px){.lang-toggle{max-width:120px}}.login-page{display:flex;min-height:100vh;background:#f6f7f9;font-family:Be Vietnam Pro,ui-sans-serif,system-ui,sans-serif}.login-brand{position:relative;display:flex;flex-direction:column;justify-content:center;width:45%;padding:48px;overflow:hidden;background:radial-gradient(1200px 600px at 15% 20%,rgba(88,195,231,.18),transparent 60%),radial-gradient(800px 500px at 90% 85%,rgba(0,114,185,.25),transparent 60%),#0e1a26;color:#fff}.login-brand:after{content:"";position:absolute;right:-120px;bottom:-120px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#58c3e7,#005b94 60%,#005b94);opacity:.25}.login-brand-logo{display:flex;align-items:center;gap:12px;margin-bottom:48px}.login-brand-logo img{width:44px;height:44px;border-radius:10px;background:#fff}.login-brand-logo span{font-size:20px;font-weight:700;letter-spacing:1.5px;color:#fff}.login-brand h2{position:relative;z-index:1;margin:0 0 16px;font-size:30px;line-height:1.3;max-width:420px}.login-brand p{position:relative;z-index:1;margin:0;max-width:400px;font-size:15px;font-weight:300;line-height:1.7;color:#8fa8bc}.login-brand-badge{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;width:fit-content;margin-top:40px;padding:8px 14px;border:1px solid rgba(189,210,58,.4);border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.5px;color:#bdd23a}.badge-dot{width:8px;height:8px;border-radius:50%;background:#bdd23a}.login-content{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 24px}.login-card{width:100%;max-width:400px;background:#fff;border:1px solid #e8edf2;border-radius:14px;padding:40px 36px;box-shadow:0 16px 48px #0e1a2614}.login-card h1{margin:0 0 6px;font-size:24px;font-weight:700;color:#0e1a26}.login-card .login-subtitle{margin:0 0 28px;font-size:14px;font-weight:400;color:#5a6b7b}.login-form .form-group{margin-bottom:18px}.login-form label{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:#182a3a}.login-form input[type=text],.login-form input[type=password]{width:100%;padding:11px 14px;border:1px solid #cbd5e1;border-radius:8px;font-size:14px;font-family:inherit;color:#0e1a26;background:#fff;transition:border-color .15s,box-shadow .15s}.login-form input::placeholder{color:#9aa9b8}.login-form input:focus{outline:none;border-color:#0072b9;box-shadow:0 0 0 3px #0072b926}.password-wrapper{position:relative}.password-wrapper input{padding-right:56px}.password-toggle{position:absolute;top:50%;right:10px;transform:translateY(-50%);background:none;border:none;padding:4px;cursor:pointer;color:#5a6b7b;font-size:13px;font-family:inherit}.password-toggle:hover{color:#005b94}.remember-me{display:flex;align-items:center;gap:8px;margin:4px 0 18px;font-size:13px;color:#38506a}.remember-me input{accent-color:#0072b9}.login-error{background:#fde8e8;border:1px solid #f5c2c2;color:#b42323;padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:16px}.login-btn{width:100%;padding:12px;background:#005b94;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s}.login-btn:hover:not(:disabled){background:#0072b9}.login-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:900px){.login-page{flex-direction:column}.login-brand{width:100%;padding:32px}.login-brand h2{font-size:22px}.login-brand p{display:none}}.activate-form .activate-hint{margin:6px 0 0;font-size:12px;color:#8a99a8;line-height:1.5}.activate-rules{list-style:none;margin:4px 0 18px;padding:12px 14px;background:#f6f7f9;border:1px solid #e8edf2;border-radius:8px;display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}.activate-rules li{font-size:12px;color:#8a99a8}.activate-rules li.done{color:#15803d;font-weight:600}.activate-mismatch{margin:6px 0 0;font-size:12px;color:#b42323}.activate-success{background:#dcfce7;border:1px solid #86efac;color:#15803d;padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:16px}.activate-link{margin:16px 0 0;font-size:13px;color:#5a6b7b;text-align:center}.activate-link a{color:#005b94;font-weight:600;text-decoration:none}.activate-link a:hover{text-decoration:underline}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:#f6f7f9;font-family:Be Vietnam Pro,ui-sans-serif,system-ui,sans-serif;color:#0e1a26}.app-body{flex:1;display:flex;min-height:0}.app-header{position:sticky;top:0;z-index:30;width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;background:#fff;border-bottom:1px solid #e8edf2}.app-header-left{display:flex;align-items:center;gap:14px;min-width:0}.app-header-toggle{width:40px;height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;border:1px solid #d1d5db;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s}.app-header-toggle:hover{border-color:#005b94}.app-header-toggle span{display:block;width:18px;height:2px;border-radius:1px;background:#0e1a26}.app-header-brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0}.app-header-logo{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#005b94;color:#fff;font-family:Montserrat,sans-serif;font-size:16px;font-weight:800;flex-shrink:0}.app-header-logo-text{font-family:Montserrat,Be Vietnam Pro,sans-serif;font-size:16px;font-weight:800;letter-spacing:.04em;color:#0e1a26}.app-header-slogan{font-size:13px;color:#5a6b7b;border-left:1px solid #e8edf2;padding-left:12px;white-space:nowrap}.app-header-user{position:relative;display:flex;align-items:center;gap:12px}position: relative; height: 40px; display: flex; align-items: center; gap: 9px; padding: 0 12px 0 7px; border: 1px solid #d9e5ef; border-radius: 999px; background: #f8fbfe; color: #1d4f73; font-size: 12px; box-shadow: 0 1px 2px rgba(14,42,65,.04); transition: border-color .15s,box-shadow .15s,background .15s; } @media (max-width: 520px){.app-header{padding-right:12px;padding-left:12px}.app-header-user{gap:7px}}.app-header-avatar-btn{width:44px;height:44px;display:grid;place-items:center;border:1px solid #d1d5db;border-radius:10px;background:#fff;overflow:hidden;cursor:pointer;transition:border-color .15s}.app-header-avatar-btn:hover{border-color:#005b94}.app-header-avatar-btn img{width:100%;height:100%;object-fit:cover}.app-header-avatar-btn span{width:100%;height:100%;display:grid;place-items:center;background:#e3f0ff;color:#005b94;font-family:Montserrat,Be Vietnam Pro,sans-serif;font-size:18px;font-weight:800}.app-header-menu{position:absolute;top:52px;right:0;width:240px;background:#fff;border:1px solid #e8edf2;border-radius:12px;box-shadow:0 16px 40px #0e1a2624;padding:6px;z-index:40}.app-header-menu-head{display:flex;flex-direction:column;gap:1px;padding:10px 12px 12px;border-bottom:1px solid #eef2f6;margin-bottom:4px}.app-header-menu-head strong{font-size:14px;color:#0e1a26;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header-menu-head span{font-size:12px;color:#5a6b7b}.app-header-menu button{display:block;width:100%;text-align:left;padding:10px 12px;border:none;background:none;border-radius:8px;font-size:14px;font-weight:500;font-family:inherit;color:#182a3a;cursor:pointer;transition:background .15s,color .15s}.app-header-menu button:hover{background:#f1f5f9;color:#0e1a26}.app-header-menu button.danger{color:#b42323}.app-header-menu button.danger:hover{background:#fde8e8;color:#b42323}.app-header-menu button:disabled{opacity:.55;cursor:not-allowed}.app-header-menu-sep{height:1px;background:#eef2f6;margin:4px 8px}.app-header-notice{position:absolute;top:52px;right:56px;background:#0e1a26;color:#fff;padding:8px 14px;border-radius:8px;font-size:13px;z-index:45}.att-cpw-form{display:flex;flex-direction:column;gap:14px}.att-cpw-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:#182a3a}.att-cpw-form input{padding:11px 14px;border:1px solid #cbd5e1;border-radius:8px;font-size:14px;font-family:inherit;color:#0e1a26}.att-cpw-form input:focus{outline:none;border-color:#0072b9;box-shadow:0 0 0 3px #0072b926}.att-cpw-hint{margin:0;font-size:12px;color:#5a6b7b}@media(max-width:900px){.app-header{padding:10px 16px}.app-header-slogan{display:none}.app-header-menu{right:-32px;width:220px}.app-header-notice{right:48px}}.app-header-bell{position:relative}.app-header-bell-btn{position:relative;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d5dee8;border-radius:10px;background:#fff;cursor:pointer;font-size:18px;transition:background .15s,border-color .15s}.app-header-bell-btn:hover{background:#f5f8ff;border-color:#2f6df6}.app-header-bell-badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:#e65100;color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #fff}.app-header-bell-menu{position:absolute;top:48px;right:0;width:340px;max-height:420px;overflow-y:auto;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 10px 30px #0f1e321f;z-index:300}.app-header-bell-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #eef2f7;background:#fbfcfe;position:sticky;top:0}.app-header-bell-head strong{font-size:14px;color:#172b42}.app-header-bell-readall{border:0;background:#eef4ff;color:#2f6df6;font-size:11px;font-weight:600;padding:5px 10px;border-radius:20px;cursor:pointer}.app-header-bell-readall:hover{background:#dbe8ff}.app-header-bell-list{padding:8px}.app-header-bell-empty{padding:24px 16px;text-align:center;color:#8a99ab;font-size:13px}.app-header-bell-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:10px;border-left:3px solid transparent}.app-header-bell-item:hover{background:#f8fafc}.app-header-bell-item:not(.is-read){border-left-color:#2f6df6}.app-header-bell-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.app-header-bell-item-main strong{font-size:13px;color:#172b42}.app-header-bell-item:not(.is-read) .app-header-bell-item-main strong{font-weight:700}.app-header-bell-item-main span{font-size:12px;color:#8a99ab}.app-header-bell-item-read{width:26px;height:26px;flex:0 0 auto;border:1px solid #d5dee8;background:#fff;color:#2f6df6;border-radius:50%;cursor:pointer;font-size:13px}.app-header-bell-item-read:hover{background:#eef4ff;border-color:#2f6df6}.app-header-bell-item-done{color:#9aa8b8;font-size:14px}.admin-toolbar.stats-toolbar .admin-search{margin-left:auto}.admin-toolbar.attendance-history-toolbar .admin-search,.attendance-history-compact .admin-toolbar.attendance-history-toolbar .admin-search{margin-left:0}.attendance-history-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:8px}.attendance-history-summary>div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:8px 14px;border:1px solid #d2dceb;border-radius:10px;background:#e8eef8;color:#38506a;font-size:13px}.attendance-history-summary strong{color:#0e1a26;font-size:20px;line-height:1}.work-schedule-page{display:grid;gap:14px}.work-schedule-calendar{padding:16px 18px}.work-schedule-calendar-head{display:flex;align-items:center;justify-content:center;gap:12px;position:relative;min-height:34px;margin-bottom:14px}.work-schedule-calendar-head .att-cal-nav{position:static;flex:0 0 30px;width:30px;height:30px}.work-schedule-calendar-head h2{min-width:180px;margin:0;color:#172b42;font-size:16px;text-align:center;text-transform:capitalize}.work-schedule-date-picker{display:flex;align-items:center;gap:7px;margin-left:auto;color:#5a6b7b;font-size:12px}.work-schedule-date-picker input{min-height:34px;padding:5px 8px;border:1px solid #d1d9e2;border-radius:7px;color:#24384d}.work-schedule-weekdays,.work-schedule-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}.work-schedule-weekdays{padding-bottom:6px;color:#8898a9;font-size:11px;font-weight:700}.work-schedule-days{gap:5px}.work-schedule-day{position:relative;display:flex;min-width:0;min-height:54px;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px solid #edf1f5;border-radius:8px;background:#fff;color:#23364a;cursor:pointer}.work-schedule-day:hover{border-color:#83b9df;background:#f5faff}.work-schedule-day small{min-width:20px;padding:1px 5px;border-radius:10px;background:#dcfce7;color:#15803d;font-size:10px;font-weight:700;line-height:15px}.work-schedule-day.is-selected{border-color:#005b94;background:#005b94;color:#fff}.work-schedule-day.is-selected small{background:#fff;color:#005b94}.work-schedule-day.is-today:not(.is-selected){border-color:#005b94;color:#005b94;font-weight:700}.work-schedule-day.is-empty{border-color:transparent;background:transparent;cursor:default}.work-schedule-calendar-foot{display:flex;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid #eef2f6;color:#748397;font-size:11px}.work-schedule-count-dot{display:inline-block;width:9px;height:9px;margin-right:6px;border-radius:50%;background:#22a05a}.work-schedule-day-summary{display:flex;flex-wrap:wrap;gap:10px}.work-schedule-day-summary>div{display:flex;min-width:200px;flex:1;flex-direction:column;gap:5px;padding:12px 16px;border:1px solid #d2dceb;border-radius:10px;background:#e8eef8}.work-schedule-day-summary span{color:#5e7187;font-size:12px}.work-schedule-day-summary strong{color:#13283d;font-size:17px;text-transform:capitalize}.work-schedule-list{padding:14px 16px}.work-schedule-list-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.work-schedule-list-head h2{margin:0 0 4px;color:#172b42;font-size:16px}.work-schedule-list-head>div>span{color:#748397;font-size:12px}.work-schedule-list-head .admin-search{width:min(360px,100%)}.work-schedule-table td{vertical-align:middle}.work-schedule-employee-code{display:block;color:#748397;font-size:11px}.work-schedule-employee-name{display:block;margin-top:3px;color:#1a2c40;font-weight:600}.work-schedule-table .att-badge{white-space:nowrap}.attendance-history-compact .att-card{padding:12px 16px}.attendance-history-compact .admin-toolbar{gap:8px;margin-bottom:10px}.attendance-history-compact .admin-search{min-height:36px}.attendance-history-compact .admin-link-btn{padding:7px 11px}.att-cal-strip{display:flex;margin:0 0 16px}.attendance-history-compact .att-cal{position:relative;width:100%;min-width:0;padding:12px 14px;border:1px solid #eef2f6;border-radius:10px;background:#fff}.attendance-history-compact .att-cal-head{position:relative;display:block;height:26px;margin-bottom:8px}.att-cal-nav{position:absolute;top:0;z-index:1;width:26px;height:26px;border:1px solid #d1d5db;border-radius:7px;background:#fff;color:#38506a;cursor:pointer}.att-cal-nav:first-child{left:0}.att-cal-nav:last-child{right:0}.att-cal-title{position:absolute;top:50%;left:50%;max-width:calc(100% - 80px);transform:translate(-50%,-50%);color:#0e1a26;font-size:13px;font-weight:700;text-align:center;text-transform:capitalize}.attendance-history-compact .att-cal-wk,.attendance-history-compact .att-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}.attendance-history-compact .att-cal-wk{padding-bottom:4px;color:#9aa9b8;font-size:10px;font-weight:700}.attendance-history-compact .att-cal-grid{gap:3px}.att-cal-day{position:relative;display:grid;min-width:0;height:30px;place-items:center;border:1px solid transparent;border-radius:7px;background:#fff;color:#182a3a;font-size:12px;cursor:pointer}.att-cal-day:hover{border-color:#005b94;color:#005b94}.att-cal-day--blank{visibility:hidden}.att-cal-day--pending{background:#fee2e2;color:#b42323;font-weight:700}.att-cal-day--done{background:#dcfce7;color:#15803d;font-weight:700}.att-cal-day--selected{border-color:#005b94;background:#005b94;color:#fff;box-shadow:0 0 0 2px #005b9426}.att-cal-footer{display:flex;align-items:center;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid #eef2f6}.att-cal-legend{display:flex;flex-wrap:wrap;gap:12px;color:#5a6b7b;font-size:12px}.att-cal-legend .att-dot{display:inline-block;width:10px;height:10px;margin-right:5px;border:1px solid #d1d5db;border-radius:3px;vertical-align:-1px}.att-dot--pending{background:#fee2e2;border-color:#f3b4b4!important}.att-dot--done{background:#dcfce7;border-color:#b7e4c7!important}.att-dot--none{background:#fff}.att-cal-actions{display:flex;gap:8px;margin-left:auto}.att-cal-action{padding:6px 12px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#38506a;font-size:12px;font-weight:600;cursor:pointer}.att-cal-action.active{border-color:#005b94;background:#005b94;color:#fff}.att-approval-cell{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px}.att-approved-info{display:flex;flex-direction:column;align-items:center;gap:3px;cursor:help}.att-approved-info small{color:#718397;font-size:10px;line-height:1.2;white-space:nowrap}.att-detail-modal-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #e7edf3}.att-detail-modal-head h2{margin:0;color:#172b42;font-size:18px}.att-detail-modal-head p{margin:5px 0 0;color:#63758a;font-size:12px}.att-detail-modal-head button{align-self:flex-start;padding:0 5px;border:0;background:transparent;color:#68788c;font-size:24px;cursor:pointer}.attendance-history-compact .att-table th.att-col-approval,.attendance-history-compact .att-table td.att-col-approval,.attendance-history-compact .att-table th.att-col-actual,.attendance-history-compact .att-table td.att-col-actual,.attendance-history-compact .att-table th.att-col-photo,.attendance-history-compact .att-table td.att-col-photo{text-align:center}.attendance-history-compact .att-table td.att-col-photo .att-photo-cell{align-items:center}.attendance-history-compact .att-table th.att-col-status,.attendance-history-compact .att-table td.att-col-status{text-align:center}.attendance-history-compact .att-table th.att-col-code,.attendance-history-compact .att-table td.att-col-code{width:90px;white-space:nowrap}.att-approval-cell--view{flex-direction:column;gap:3px;align-items:center}.att-approval-cell--view small{font-size:11px;color:#5a6b7b}.admin-link-btn--sm{padding:5px 8px;font-size:11px}.admin-link-btn--approve{background:#fff7e6;color:#9a5b00}@media(max-width:640px){.attendance-history-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.attendance-history-summary>div{padding:7px;font-size:11px}.att-cal-footer{align-items:flex-start;flex-direction:column}.att-cal-actions{margin-left:0}.work-schedule-calendar{padding:12px}.work-schedule-calendar-head{justify-content:flex-start;flex-wrap:wrap;gap:8px}.work-schedule-calendar-head h2{min-width:0;flex:1;font-size:14px}.work-schedule-date-picker{margin-left:0}.work-schedule-day{min-height:44px}.work-schedule-calendar-foot{gap:8px;flex-direction:column}.work-schedule-list-head{align-items:stretch;flex-direction:column}.work-schedule-list-head .admin-search{width:100%}}.att-form-modal{max-height:calc(100vh - 96px);overflow:auto}.att-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.att-form-row label{min-width:0}.att-detail-modal{width:min(680px,100%);max-height:min(85vh,780px);overflow:auto;padding:22px;border-radius:14px;background:#fff;box-shadow:0 20px 60px #0e1a2633}.att-detail-summary{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.att-detail-stat{flex:1 1 0;min-width:80px;padding:8px 10px;border-radius:8px;background:#f5f7fa;display:flex;flex-direction:column;gap:2px}.att-detail-stat span{font-size:11px;color:#63758a}.att-detail-stat strong{font-size:18px;color:#172b42}.att-detail-stat--ok strong{color:#2e7d32}.att-detail-stat--warn strong{color:#e65100}.att-detail-stat--bad strong{color:#c62828}.att-detail-stat--info strong{color:#1565c0}.att-table--compact th,.att-table--compact td{padding:6px 8px;font-size:13px}.att-detail-changes{margin-bottom:16px;padding:12px 14px;background:#fff8e6;border:1px solid #f0e0b0;border-radius:8px;display:flex;flex-direction:column;gap:6px;font-size:13px}.att-detail-changes strong{color:#6d5a1a;font-size:12px;text-transform:uppercase;letter-spacing:.3px}.att-detail-change-row{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}.att-history-modal{width:min(480px,100%);max-height:85vh;overflow:auto;background:#fff;border-radius:14px;box-shadow:0 20px 60px #0e1a2633;padding:0}.att-history-modal-head{display:flex;align-items:flex-start;gap:12px;padding:20px 24px 16px;border-bottom:1px solid #e8ecf2;position:relative}.att-history-modal-head h2{margin:0;font-family:Montserrat,Be Vietnam Pro,sans-serif;font-size:18px;color:#0e1a26}.att-history-modal-head p{margin:4px 0 0;font-size:13px;color:#63758a}.att-history-modal-head button{position:absolute;top:16px;right:20px;background:none;border:none;font-size:24px;color:#63758a;cursor:pointer;line-height:1}.att-history-body{padding:16px 24px;display:flex;flex-direction:column;gap:16px}.att-history-section{border:1px solid #e8ecf2;border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.att-history-section-title{display:flex;align-items:center;gap:8px}.att-history-row{display:flex;align-items:baseline;gap:12px;font-size:13px}.att-history-label{flex:0 0 90px;color:#63758a;font-size:12px;text-transform:uppercase;letter-spacing:.3px}.att-history-change-detail{color:#172b42;line-height:1.5}.att-history-modal-foot{padding:12px 24px 16px;border-top:1px solid #e8ecf2;display:flex;justify-content:flex-end}.att-approval-detail{position:relative;display:grid;grid-template-areas:"status" "meta";grid-template-columns:1fr;align-items:center;justify-items:center;gap:2px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .15s}.att-approval-detail:hover{background:#f5f7fa}.att-approval-detail>.att-badge{grid-area:status}.att-approval-detail:hover>.att-badge{visibility:hidden}.att-approval-detail small{grid-area:meta;color:#63758a;font-size:11px;white-space:nowrap}.att-approval-detail-hover{display:none;grid-area:status;font-family:inherit;font-size:12px;font-weight:600;line-height:1.6;color:#1565c0}.att-approval-detail:hover .att-approval-detail-hover{display:inline}.att-sidebar{width:234px;flex-shrink:0;background:#f9fbfd;border-right:1px solid #e8edf2;padding:14px 12px 18px;display:flex;flex-direction:column;position:sticky;top:69px;height:calc(100vh - 69px);overflow-y:auto}.att-sidebar.collapsed{display:none}.att-sidebar-nav{display:flex;flex-direction:column;gap:6px}.att-nav-item{display:flex;align-items:center;min-height:40px;padding:10px 14px;border-radius:10px;font-size:14px;font-weight:500;color:#38506a;text-decoration:none;line-height:1.4;transition:background .15s ease,color .15s ease,transform .15s ease}.att-nav-item:hover{background:#eef4fb;color:#0e1a26}.att-nav-item.active{background:#dfeeff;color:#0b5d9f;font-weight:700;box-shadow:inset 0 0 0 1px #428ae02e}.att-main{flex:1;min-width:0;padding:32px 40px}.att-main-head{margin:0 0 24px}.att-main-head h1{margin:0 0 4px;font-family:Montserrat,Be Vietnam Pro,sans-serif;font-size:26px;font-weight:700}.att-main-head p{margin:0;font-size:14px;color:#5a6b7b}.att-content{width:100%}.att-content .att-error{margin:0 0 16px}.att-content .att-loading{margin:0}.att-error{margin:0 0 16px;padding:12px 16px;background:#fde8e8;border:1px solid #f5c2c2;border-radius:8px;color:#b42323;font-size:14px}.att-loading{padding:40px;text-align:center;color:#5a6b7b}.att-hero{width:100%;background:#fff;border:1px solid #e8edf2;border-radius:16px;padding:24px;box-shadow:0 6px 20px #0e1a260f;display:flex;flex-direction:column;gap:20px}.att-hero-title h2{margin:0;font-family:Montserrat,Be Vietnam Pro,sans-serif;font-size:22px;font-weight:800;color:#0e1a26}.att-hero-title p{margin:4px 0 0;font-size:15px;color:#5a6b7b}.att-hero-title strong{color:#005b94}.att-cam-idle button{width:100%;padding:22px;display:flex;align-items:center;justify-content:center;gap:10px;border:2px dashed #cbd5e1;border-radius:14px;background:#f6f7f9;font-size:16px;font-weight:700;color:#182a3a;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.att-cam-idle button:hover{border-color:#005b94;background:#e3f0ff;color:#005b94}.att-cam{display:flex;flex-direction:column;gap:10px}.att-cam video{width:100%;height:220px;object-fit:cover;border-radius:14px;background:#0e1a26}.att-cam>button{align-self:center;padding:10px 22px;border:1px solid #005b94;border-radius:8px;background:#fff;font-size:14px;font-weight:700;color:#005b94;cursor:pointer}.att-cam-error{margin:0;font-size:13px;color:#b42323}.att-cam-done{display:flex;align-items:center;gap:14px;padding:14px;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:14px}.att-cam-done img{width:72px;height:72px;object-fit:cover;border-radius:10px}.att-cam-done strong{display:block;font-size:15px;color:#15803d}.att-cam-done-actions{display:flex;gap:10px;margin-top:10px}.att-cam-done-actions button{padding:7px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.att-cam-btn-remove{border:1px solid #cbd5e1;background:#fff;color:#64748b}.att-cam-btn-remove:hover{background:#f1f5f9}.att-cam-done-actions button:not(.att-cam-btn-remove){border:1px solid #005b94;background:#fff;color:#005b94}.att-cam-done-actions button:not(.att-cam-btn-remove):hover{background:#e3f0ff}.att-cam-hint{margin:0;font-size:13px;color:#a16207;background:#fef9c3;border-radius:8px;padding:8px 12px}.att-hero-times{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.att-hero-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:22px 16px;background:#f6f7f9;border:1px solid #e8edf2;border-radius:14px}.att-hero-label{font-size:15px;font-weight:700;letter-spacing:.02em;color:#5a6b7b}.att-hero-slot strong{font-family:Montserrat,Be Vietnam Pro,sans-serif;font-size:40px;font-weight:800;line-height:1;color:#0e1a26}.att-hero-thumb{width:52px;height:52px;object-fit:cover;border-radius:8px;border:1px solid #e2e8f0}.att-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.att-week-count{text-align:right;font-size:13px;color:#5a6b7b}.att-week-count strong{color:#005b94;font-weight:800}.att-week-day{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 6px;background:#fff;border:1px solid #eef2f6;border-radius:10px}.att-week-name{font-size:12px;font-weight:600;color:#9aa9b8}.att-week-num{font-family:Montserrat,Be Vietnam Pro,sans-serif;font-size:18px;font-weight:700;color:#0e1a26}.att-week-day.today{background:#e3f0ff;border-color:#bcd6ef}.att-week-day.checked .att-week-num{color:#005b94}.att-week-section{margin-top:20px}.att-week-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.att-week-head h2{margin:0;font-family:Montserrat,Be Vietnam Pro,sans-serif;font-size:18px;font-weight:800;color:#0e1a26}.att-guide-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e1a2673;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.att-guide{width:100%;max-width:620px;background:#fff;border-radius:16px;padding:28px;box-shadow:0 20px 60px #0e1a2633}.att-guide h2{margin:0 0 16px;font-family:Montserrat,Be Vietnam Pro,sans-serif;font-size:20px;color:#0e1a26}.att-guide ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:12px}.att-guide li{font-size:15px;line-height:1.55;color:#182a3a}.att-guide li strong{color:#005b94}.att-guide-close{margin-top:22px;width:100%;padding:12px;background:#0e1a26;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer}.att-guide-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.att-head-close{flex:none;width:32px;height:32px;padding:0;background:transparent;color:#64748b;border:none;border-radius:8px;font-size:22px;line-height:1;cursor:pointer}.att-head-close:hover{background:#f1f5f9;color:#0e1a26}.att-hero-actions{display:flex;gap:14px}.att-hero-actions button{flex:1;padding:16px;border:none;border-radius:12px;font-size:18px;font-weight:800;cursor:pointer;transition:opacity .15s}.att-hero-actions button:first-child{background:#005b94;color:#fff}.att-hero-actions button:last-child{background:#0e1a26;color:#fff}.att-hero-actions button:disabled{opacity:.4;cursor:not-allowed}.att-hero-hint{margin:0;font-size:13px;color:#005b94}.att-hero-status{font-family:Montserrat,Be Vietnam Pro,sans-serif;font-size:30px}.att-hero-done{padding:16px;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:12px;font-size:16px;font-weight:700;color:#15803d;text-align:center}.att-checkin-done{margin:0;font-size:14px;color:#15803d}.att-checkin-error{margin:0;font-size:14px;color:#b42323}.att-card{background:#fff;border:1px solid #e8edf2;border-radius:14px;padding:22px 24px;box-shadow:0 6px 20px #0e1a260f}.att-card h2{margin:0 0 14px;font-size:15px;font-weight:700;letter-spacing:.2px;color:#182a3a}.att-muted{color:#9aa9b8;font-size:13px}.att-table-wrap{overflow-x:auto}.att-table{width:100%;border-collapse:collapse;font-size:14px}.att-table th,.att-table td{text-align:left;padding:10px 12px;border-bottom:1px solid #eef2f6}.att-table th{font-size:12px;font-weight:700;letter-spacing:.3px;color:#5a6b7b;text-transform:uppercase}.att-emp-cell{display:flex;flex-direction:column;gap:1px}.att-emp-cell .att-emp-code{font-size:11px;color:#5a6b7b;letter-spacing:.3px;font-weight:400}.att-emp-cell .att-emp-name{font-weight:600;font-size:14px;color:#182a3a}.att-photo-cell{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.att-photo-thumb{width:44px;height:44px;object-fit:cover;border-radius:6px;border:1px solid #e2e8f0}.att-badge{display:inline-block;padding:3px 12px;border-radius:999px;font-size:12px;font-weight:600;text-align:center;line-height:1.6}.att-badge.ok{background:#dcfce7;color:#15803d}.att-badge.warn{background:#fef9c3;color:#a16207}.att-badge.bad{background:#fee2e2;color:#b42323}.att-badge.info{background:#dbeafe;color:#1d4ed8}.att-kpi-bar{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:0;padding:10px 14px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff}.att-kpi-bar strong{font-family:Montserrat,Be Vietnam Pro,sans-serif;font-size:18px;color:#0e1a26}.att-kpi-nav{width:34px;height:34px;padding:0;border:1px solid #d1d5db;border-radius:8px;background:#fff;font-size:18px;line-height:1;color:#182a3a;cursor:pointer;transition:border-color .15s,color .15s}.att-kpi-nav:hover{border-color:#005b94;color:#005b94}.att-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:18px}.att-kpi{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.att-kpi-label{font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#5a6b7b}.att-kpi strong{font-family:Montserrat,Be Vietnam Pro,sans-serif;font-size:30px;font-weight:800;color:#0e1a26;line-height:1}.att-stat-wrap{display:flex;flex-direction:column;gap:12px}.att-stat-overview{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,190px));gap:10px;align-items:stretch}.att-stat-overview .att-stat-bottom,.att-stat-overview .att-stat-kpi-grid{display:contents}.att-stat-month{font-size:18px;letter-spacing:.04em}.att-stat-kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.att-stat-kpi{gap:3px;padding:11px 12px;min-height:116px}.att-stat-value{display:flex;align-items:baseline;gap:6px}.att-stat-value strong{font-family:Montserrat,Be Vietnam Pro,sans-serif;font-size:23px;font-weight:800;color:#0e1a26;line-height:1}.att-stat-fraction{font-size:16px;font-weight:600;color:#5a6b7b}.att-stat-unit{font-size:11px;color:#5a6b7b}.att-stat-bar{width:100%;height:6px;border-radius:999px;background:#eef2f6;overflow:hidden}.att-stat-bar-fill{height:100%;border-radius:999px;transition:width .2s ease}.att-stat-bar-fill.ok{background:#15803d}.att-stat-bar-fill.warn{background:#d3a021}.att-stat-bar-fill.info{background:#005b94}.att-stat-bar-fill.bad{background:#b42323}.att-stat-sub{font-size:10px;color:#5a6b7b}.att-stat-card{display:block;padding:12px 13px}.att-stat-title{margin:0 0 14px;font-size:15px;font-weight:700;color:#182a3a}.att-cal{width:100%}.att-cal-head,.att-cal-row{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.att-cal-head{margin-bottom:8px}.att-cal-hd{font-size:12px;font-weight:700;letter-spacing:.04em;color:#5a6b7b;text-align:center;text-transform:uppercase;padding:7px 4px;border-radius:6px;background:#eff6ff;color:#005b94}.att-cal-row{margin-bottom:4px}.att-cal-cell{display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 4px;border:1px solid #eef2f6;border-radius:8px;background:#fbfcfe;min-height:44px;justify-content:center}.att-cal-cell.rest{background:transparent;border-color:transparent}.att-cal-cell.status-full{background:#f0fdf4;border-color:#bbf7d0}.att-cal-cell.status-short,.att-cal-cell.status-nodata{background:#fffbeb;border-color:#fde68a}.att-cal-cell.status-absent{background:#fef2f2;border-color:#fecaca}.att-cal-cell.status-leave{background:#eff6ff;border-color:#bfdbfe}.att-cal-cell.status-future{background:#f8fafc;border-color:#e2e8f0}.att-cal-cell.status-rest{background:#f1f5f9;border-color:#e2e8f0}.att-cal-num{font-size:13px;font-weight:600;color:#182a3a}.att-cal-cell.rest .att-cal-num{color:#9aa9b8}.att-cal-dot{font-size:11px;font-weight:700;line-height:1}.att-cal-dot.ok{color:#15803d}.att-cal-dot.warn{color:#d3a021}.att-cal-dot.bad{color:#b42323}.att-cal-dot.info{color:#1d4ed8}.att-cal-dot.muted{color:#c4cdd6}.att-cal-dot.nodata{color:#d97706}.att-cal-dot.future{color:#64748b}.att-cal-dot.rest{color:#94a3b8}.att-cal-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:12px;color:#5a6b7b}.att-cal-legend span{display:inline-flex;align-items:center;gap:5px}.att-cal-legend i{font-style:normal;font-weight:700}.att-cal-legend i.ok{color:#15803d}.att-cal-legend i.warn{color:#d3a021}.att-cal-legend i.bad{color:#b42323}.att-cal-legend i.info{color:#1d4ed8}.att-cal-legend i.muted{color:#c4cdd6}.att-cal-legend i.nodata{color:#d97706}.att-cal-legend i.future{color:#64748b}.att-cal-legend i.rest{color:#94a3b8}.att-stat-table th,.att-stat-table td{padding:9px 10px}.att-stat-warn{border:1px solid #f5c2c2;background:#fff8f8;padding:11px 12px;min-height:116px}.att-stat-tile-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px}.att-stat-tile-icon{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:8px;background:#e0f2fe;color:#0284c7;font-size:16px;font-weight:700}.att-stat-tile-icon.warn{background:#fff1f2;color:#be123c}.att-stat-tile-arrow{color:#94a3b8;font-size:13px;line-height:1;text-decoration:none}.att-stat-warn .att-stat-title,.att-stat-kpi .att-kpi-label{display:block;margin:0 0 3px;font-size:12px;line-height:1.25}.att-stat-tile-value{display:block;color:#0e1a26;font-family:Montserrat,Be Vietnam Pro,sans-serif;font-size:20px;line-height:1.1}.att-stat-tile-sub{display:-webkit-box;margin:4px 0 0;overflow:hidden;color:#64748b;font-size:10px;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}.att-stat-compact{min-height:116px;padding:11px 12px}.att-stat-rows{display:flex;flex-direction:column;gap:10px}.att-stat-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#fbfcfe;border:1px solid #eef2f6;border-radius:8px;font-size:14px;color:#5a6b7b}.att-stat-row strong{font-family:Montserrat,Be Vietnam Pro,sans-serif;font-size:16px;font-weight:700;color:#0e1a26}@media(max-width:900px){.app-shell{min-height:100vh}.app-body{flex-direction:column}.att-sidebar{position:static;width:100%;height:auto;border-right:none;border-bottom:1px solid #e8edf2}.att-main{padding:24px 20px}.att-hero-row{flex-direction:column}.att-cam{flex:1 1 auto}.att-hero-times{grid-template-columns:1fr}.att-hero-slot strong{font-size:32px}.att-week{grid-template-columns:repeat(7,minmax(84px,1fr));overflow-x:auto}.att-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.att-kpi strong{font-size:24px}}@media(max-width:560px){.att-stat-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:380px){.att-stat-overview{grid-template-columns:1fr}}.att-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e1a2673;display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.att-overlay .att-form-modal{width:100%;max-width:460px;max-height:calc(100vh - 40px);overflow-y:auto}.hr-filter-fields{display:grid;grid-template-columns:minmax(280px,2fr) repeat(2,minmax(150px,1fr)) auto;gap:10px;align-items:center;min-width:0}.hr-filter-search{box-sizing:border-box;width:100%;min-width:0;min-height:42px}.hr-row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;white-space:nowrap}.hr-mini-btn--archive{border-color:#f1d39a;background:#fff9eb;color:#805400}.hr-mini-btn--archive:hover{border-color:#e9bc62;background:#fff2d2}.hr-mini-btn--restore{border-color:#9fdbba;background:#effbf3;color:#176b3a}.hr-mini-btn--restore:hover{border-color:#70c596;background:#e0f7e8}.hr-quick-filters{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}.hr-quick-filter{min-height:28px;padding:4px 9px;border:1px solid #dbe4ee;border-radius:8px;background:#fff;color:#34485c;font:inherit;font-size:12px;line-height:18px;white-space:nowrap;cursor:pointer}.hr-quick-filter:hover{border-color:#8bbcf1;background:#f5f9ff}.hr-quick-filter.active{border-color:#9cc4ff;background:#eff6ff;color:#075b91}.hrf-body{display:grid;grid-template-columns:1fr;gap:16px;min-height:0;padding:20px 22px;overflow-y:auto}.hrf-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:12px;padding:16px;border:1px solid #e8edf2;border-radius:10px;background:#fbfcfe}.hrf-group h3{grid-column:1 / -1}.hrf-field,.hrf-check{min-width:0}@media(max-width:1000px){.hr-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.hr-filter-fields{grid-template-columns:minmax(0,1fr) repeat(2,minmax(120px,150px))}.hr-clear-filter{grid-column:1 / -1;justify-self:start}}.hr-view-section{padding-top:12px;border-top:1px solid #edf1f6}.hr-view-section h4{margin:0 0 10px;color:#34516f;font-size:13px}.hr-view-grid{margin:0 0 12px;display:grid;grid-template-columns:110px 1fr;gap:8px 12px;font-size:14px}.hr-missing-number{margin-right:1px;background:#fff4dc;color:#a16207}.admin-wrap{display:flex;flex-direction:column;gap:18px}.admin-today{padding:22px 24px}.admin-today-head{display:flex;align-items:center;gap:10px;margin-bottom:18px}.admin-today-ico{font-size:18px}.admin-today-head strong{font-family:Montserrat,Be Vietnam Pro,sans-serif;font-size:18px;color:#0e1a26}.admin-kpi-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.admin-kpi{padding:14px 16px;border-radius:10px;background:#fbfcfe;border:1px solid #eef2f6;display:flex;flex-direction:column;gap:4px}.admin-kpi--ok{background:#f0faf4;border-color:#d6efe0}.admin-kpi--bad{background:#fff5f5;border-color:#f5dada}.admin-kpi-label{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#5a6b7b}.admin-kpi strong{font-family:Montserrat,Be Vietnam Pro,sans-serif;font-size:30px;font-weight:800;color:#0e1a26;line-height:1.1}.admin-kpi--bad strong{color:#b42323}.admin-kpi--ok strong{color:#15803d}.admin-kpi-sub{font-size:13px;color:#5a6b7b}.admin-tasks{padding:22px 24px}.admin-tasks-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.admin-tasks-head strong{font-size:13px;font-weight:700;letter-spacing:.06em;color:#182a3a}.admin-toggle{padding:8px 16px;border:1px solid #d1d5db;border-radius:8px;background:#fff;font-size:13px;font-weight:600;color:#182a3a;cursor:pointer;transition:border-color .15s,color .15s}.admin-toggle:hover{border-color:#005b94;color:#005b94}.admin-tasks-body{display:flex;flex-direction:column;gap:14px}.admin-pill{align-self:flex-start;padding:5px 12px;border-radius:999px;background:#eef4fb;border:1px solid #d7e5f5;font-size:12px;font-weight:700;letter-spacing:.04em;color:#1d4ed8}.admin-alert{padding:16px 18px;border-radius:10px;background:#eef4fb;border:1px solid #d7e5f5}.admin-alert-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-alert-head strong{font-size:15px;color:#1d4ed8}.admin-alert p{margin:6px 0 12px;font-size:14px;color:#38506a}.admin-alert-close{width:26px;height:26px;padding:0;border:none;background:transparent;font-size:18px;line-height:1;color:#5a6b7b;cursor:pointer}.admin-alert-close:hover{color:#182a3a}.admin-table-card{padding:22px 24px}.admin-table-card h3{margin:0 0 14px;font-size:15px;font-weight:700;color:#182a3a}.admin-table .admin-sub{display:block;margin-top:4px;font-size:13px;color:#5a6b7b}.admin-table .admin-risk{color:#5a6b7b;font-size:13px;max-width:280px}.admin-link-btn{padding:8px 14px;border:none;border-radius:8px;background:#0e1a26;color:#fff;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.admin-link-btn:hover{background:#005b94}.admin-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.admin-toolbar select,.admin-toolbar input[type=month]{padding:9px 12px;border:1px solid #d1d5db;border-radius:8px;background:#fff;font-size:14px;color:#182a3a}.admin-search{display:flex;align-items:center;gap:9px;width:min(100%,340px);min-width:220px;min-height:40px;padding:0 12px;border:1px solid #d1dbe5;border-radius:9px;background:#fff;color:#718397;transition:border-color .15s,box-shadow .15s}.admin-search:focus-within{border-color:#1673ad;box-shadow:0 0 0 3px #1673ad1f}.admin-search>span{font-size:21px;line-height:1;margin-bottom:5px}.admin-search input[type=search]{width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:#182a3a;font:inherit;font-size:13px}.admin-search input[type=search]:focus{box-shadow:none}.admin-toolbar.stats-toolbar .admin-search,.admin-toolbar.attendance-history-toolbar .admin-search{margin-left:auto}@media(max-width:640px){.admin-search{width:100%;max-width:none}}.admin-check{display:flex;align-items:center;gap:6px;font-size:13px;color:#5a6b7b}.admin-check input{accent-color:#005b94}.admin-toolbar .att-muted{margin-right:auto}.admin-row-actions{display:flex;gap:8px}.admin-link-btn--danger{background:#b42323}.admin-link-btn--danger:hover{background:#8f1c1c}.admin-view-link{padding:8px 14px;border:1px solid #005b94;border-radius:8px;background:#fff;color:#005b94;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .15s}.admin-view-link:hover{background:#e3f0ff}.att-form-modal{width:100%;max-width:480px;background:#fff;border-radius:16px;padding:24px 26px;box-shadow:0 20px 60px #0e1a2633}.att-form-modal h2{margin:0 0 16px;font-family:Montserrat,Be Vietnam Pro,sans-serif;font-size:18px;color:#0e1a26}.att-form{display:flex;flex-direction:column;gap:12px}.att-form label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:#5a6b7b}.att-form select,.att-form input,.att-form textarea{padding:9px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#0e1a26;font-family:inherit;resize:vertical}.att-employee-picker{position:relative}.att-employee-picker>input{box-sizing:border-box;width:100%}.att-employee-options,.att-employee-empty{position:absolute;z-index:20;top:calc(100% + 4px);right:0;left:0;overflow:auto;max-height:220px;border:1px solid #d1dbe5;border-radius:8px;background:#fff;box-shadow:0 8px 22px #0e1a2624}.att-employee-options button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 12px;border:0;border-bottom:1px solid #eef2f6;background:#fff;color:#0e1a26;font:inherit;text-align:left;cursor:pointer}.att-employee-options button:last-child{border-bottom:0}.att-employee-options button:hover,.att-employee-options button[aria-selected=true]{background:#f0f7fc}.att-employee-options button span{color:#66788a;font-size:12px;white-space:nowrap}.att-employee-empty{padding:11px 12px;color:#66788a;font-size:13px;font-weight:400}.att-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}@media(max-width:1100px){.admin-kpi-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.admin-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-tasks-head{flex-direction:column;align-items:flex-start;gap:10px}}.admhome{display:flex;flex-direction:column;gap:20px}.admhome-clock-card{display:flex;justify-content:center;padding:6px}.admhome-clock{display:flex;align-items:center;gap:28px;width:100%;max-width:520px;padding:26px 30px;border-radius:16px;background:#f7c644;box-shadow:0 10px 30px #f7c64459}.admhome-clock-face{position:relative;flex:0 0 auto;width:92px;height:92px;border-radius:50%;background:#fff;box-shadow:inset 0 2px 6px #0e1a2614}.admhome-clock-tick{position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px;border-radius:50%;background:#f7c644}.admhome-clock-hand{position:absolute;left:50%;bottom:50%;transform-origin:50% 100%;border-radius:4px;background:#182a3a}.admhome-clock-hand--hour{width:5px;height:24px;margin-left:-2.5px;background:#0e1a26}.admhome-clock-hand--minute{width:3px;height:34px;margin-left:-1.5px}.admhome-clock-pin{position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px;border-radius:50%;background:#0e1a26}.admhome-clock-meta{display:flex;flex-direction:column;gap:4px;color:#182a3a}.admhome-clock-meta strong{font-family:Montserrat,Be Vietnam Pro,sans-serif;font-size:34px;font-weight:800;line-height:1;letter-spacing:.02em}.admhome-clock-meta span{font-size:13px;color:#3d3418}.admhome-clock-tz{font-size:11px!important;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.65}.admhome-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.admhome-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:22px 14px 18px;border:1px solid #eef2f6;border-radius:12px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s;font-family:inherit}.admhome-tile:hover{border-color:#f7c644;box-shadow:0 8px 22px #f7c64438;transform:translateY(-2px)}.admhome-tile-ico{font-size:30px;line-height:1}.admhome-tile-label{margin-top:6px;font-size:15px;font-weight:700;color:#0e1a26}.admhome-tile-sub{font-size:12px;color:#5a6b7b}@media(max-width:720px){.admhome-clock{flex-direction:column;text-align:center;gap:16px}.admhome-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.att-form-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.att-form-head h2{margin:0}.att-form-close{width:32px;height:32px;flex-shrink:0;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#5a6b7b;font-size:20px;line-height:1;cursor:pointer;transition:border-color .15s,color .15s}.att-form-close:hover{border-color:#005b94;color:#005b94}.att-nav-back{margin-top:auto;border-top:1px solid #e8edf2;padding-top:10px;color:#5a6b7b}.att-nav-back:hover{color:#005b94;background:#f0f7fc}.att-sidebar .att-sidebar-nav{flex:1}.roles-card-title{font-size:15px;font-weight:600;color:#172b42;margin:0}.roles-new-form{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 14px}.roles-new-form input{flex:1;min-width:160px;padding:9px 12px;border:1px solid #d5dee8;border-radius:8px;font-size:13px}.roles-new-form input:focus{outline:none;border-color:#2f6df6}.roles-roles-cell{display:flex;gap:6px;flex-wrap:wrap}.roles-role-badge{display:inline-flex;align-items:center;gap:5px}.roles-role-badge button{border:0;background:transparent;cursor:pointer;font-size:13px;color:#63758a;padding:0}.roles-role-badge button:hover{color:#c62828}.roles-overlay{z-index:100}.roles-modal{max-width:520px;width:92%;max-height:80vh;overflow:auto}.roles-pick-list{display:flex;flex-direction:column;gap:8px}.roles-pick{text-align:left;border:1px solid #d5dee8;background:#fff;border-radius:8px;padding:9px 12px;font-size:13px}.roles-pick:hover{border-color:#2f6df6;background:#f5f8ff}.work-note{font-size:12px;margin-top:3px}.work-status-select{padding:6px 8px;border:1px solid #d5dee8;border-radius:8px;font-size:13px;background:#fff}.work-overlay{z-index:100}.work-modal{max-width:560px;width:94%;max-height:88vh;overflow:auto}.work-form{display:flex;flex-direction:column;gap:12px}.work-form label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#63758a;font-weight:600}.work-form input,.work-form select,.work-form textarea{padding:9px 11px;border:1px solid #d5dee8;border-radius:8px;font-size:13px;color:#172b42;font-family:inherit}.work-form input:focus,.work-form select:focus,.work-form textarea:focus{outline:none;border-color:#2f6df6}.work-form-row{display:flex;gap:12px}.work-form-row label{flex:1}.work-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.work-save{background:#2f6df6;color:#fff;border-color:#2f6df6}.work-save:hover{background:#1f5ae0}.roles-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}.roles-add-btn{white-space:nowrap}.roles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.roles-role-card{border:1px solid #e2e8f0;border-radius:12px;background:#fff;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 2px #0f1e320a}.roles-role-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px;border-bottom:1px solid #eef2f7;background:#f8fafc}.roles-role-head p{margin:4px 0 0;font-size:12px;color:#63758a;max-width:200px}.roles-role-actions{display:flex;align-items:center;gap:10px}.roles-member-count{font-size:12px;color:#2f6df6;font-weight:600;background:#eef4ff;padding:3px 9px;border-radius:20px;white-space:nowrap}.roles-member-list{padding:8px 12px 12px;display:flex;flex-direction:column;gap:4px}.roles-member-empty{padding:6px 4px}.roles-member{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px}.roles-member:hover{background:#f7fafc}.roles-member-ava{width:34px;height:34px;border-radius:50%;background:#2f6df6;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex:0 0 auto}.roles-member-info{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.roles-member-info strong{font-size:13px;color:#172b42}.roles-member-info small{font-size:11px;color:#8a99ab}.roles-member-remove{width:26px;height:26px;border:1px solid #f0d0d0;background:#fff;color:#c62828;border-radius:50%;cursor:pointer;font-size:15px;line-height:1;flex:0 0 auto}.roles-member-remove:hover{background:#fdecec}.roles-role-select{margin:0 12px 14px;padding:8px 10px;border:1px dashed #b9c6d6;border-radius:8px;font-size:13px;color:#172b42;background:#fff}.roles-role-table{padding:0}.roles-role-table .att-table{margin:0}.roles-drag-col{cursor:grab;-webkit-user-select:none;user-select:none}.roles-drag-col:active{cursor:grabbing}.roles-drag-ico{color:#b6c2d1;font-size:11px;letter-spacing:-1px;margin-right:3px}.roles-th-act,.roles-td-act{text-align:right;white-space:nowrap}.roles-td-act{padding-right:14px}.roles-eye-btn{width:28px;height:28px;border:1px solid #d5dee8;background:#fff;border-radius:50%;cursor:pointer;font-size:13px;margin-right:6px;vertical-align:middle}.roles-eye-btn:hover{border-color:#2f6df6;background:#f5f8ff}.roles-dept-row td{background:#f1f5fa;border-top:1px solid #e6edf5;border-bottom:1px solid #e6edf5;padding:9px 14px;font-weight:600;color:#172b42;font-size:13px}.roles-dept-row small{font-weight:400;color:#8a99ab;font-size:11px;margin-left:4px}.roles-dept-ico{margin-right:5px}.roles-role-select{margin:12px;padding:8px 10px;border:1px dashed #b9c6d6;border-radius:8px;font-size:13px;color:#172b42;background:#fff}.roles-role-card{border:1px solid #e2e8f0;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 1px 2px #0f1e320a}.roles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:16px}.roles-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}.roles-profile-grid>span{display:flex;flex-direction:column;gap:3px;font-size:11px;color:#8a99ab}.roles-profile-grid>span strong{font-size:13px;color:#172b42}.roles-modal{max-width:460px;width:94%}.roles-orphan-list{display:flex;flex-wrap:wrap;gap:8px;padding:6px 2px}.roles-orphan-chip{background:#f4f6f9;border:1px solid #e2e8f0;border-radius:20px;padding:5px 12px;font-size:12px;color:#4a5a6d}.roles-kpi-row{gap:12px}.roles-kpi{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:14px;border:1px solid #e6edf5;background:#fff;min-width:168px}.roles-kpi .admin-kpi-label,.roles-kpi .admin-kpi strong{margin:0}.roles-kpi>div{display:flex;flex-direction:column;gap:2px}.roles-kpi .admin-kpi-label{font-size:11px;text-transform:uppercase;letter-spacing:.3px;color:#8a99ab}.roles-kpi .admin-kpi strong{font-size:22px}.roles-kpi-ico{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:18px;flex:0 0 auto}.roles-kpi--blue{border-left:3px solid #2f6df6}.roles-kpi--blue .roles-kpi-ico{background:#eef4ff}.roles-kpi--teal{border-left:3px solid #16a085}.roles-kpi--teal .roles-kpi-ico{background:#e8f6f3}.roles-kpi--green{border-left:3px solid #2e7d32}.roles-kpi--green .roles-kpi-ico{background:#eaf5ea}.roles-add-btn{padding:9px 16px;background:#2f6df6;color:#fff;border:0;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;box-shadow:0 2px 6px #2f6df640}.roles-add-btn:hover{background:#1f5ae0}.roles-role-card{border:1px solid #e6edf5;border-top:3px solid var(--role-accent, #2f6df6);border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 4px 14px #0f1e320f}.roles-role-head{padding:15px 18px;border-bottom:1px solid #eef2f7;background:#fbfcfe}.roles-role-head-left{display:flex;align-items:center;gap:12px;min-width:0}.roles-role-ava{width:40px;height:40px;border-radius:12px;color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:700;flex:0 0 auto}.roles-role-head h3{margin:0;font-size:16px;color:#172b42}.roles-role-head p{margin:3px 0 0;font-size:12px;color:#63758a}.roles-role-delete{width:26px;height:26px;border:1px solid #f0d0d0;background:#fff;color:#c62828;border-radius:50%;cursor:pointer;font-size:15px;line-height:1}.roles-role-delete:hover{background:#fdecec;border-color:#c62828}.roles-member-count{font-size:12px;font-weight:700;padding:3px 10px;border-radius:20px;white-space:nowrap}.roles-code-chip{font-family:Consolas,SF Mono,monospace;font-size:11px;background:#f1f5f9;border:1px solid #e2e8f0;color:#4a5a6d;padding:2px 7px;border-radius:6px}.roles-position-chip{font-size:11px;background:#eef4ff;color:#2f6df6;padding:2px 8px;border-radius:20px}.roles-name-cell{display:inline-flex;align-items:center;gap:8px}.roles-member-ava--sm{width:28px;height:28px;border-radius:50%;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex:0 0 auto}.roles-name-text{font-weight:600;color:#172b42;font-size:13px}.roles-profile-grid{grid-template-columns:1fr 1fr}.roles-add-panel{padding:18px 20px;margin-bottom:16px}.roles-add-panel-head{margin-bottom:14px}.roles-add-panel-head h3{margin:0;font-size:15px;font-weight:600;color:#172b42}.roles-add-panel-head p{margin:4px 0 0;font-size:12px}.roles-add-form{display:flex;gap:10px;flex-wrap:wrap}.roles-add-form select{flex:1;min-width:200px;padding:9px 12px;border:1px solid #d5dee8;border-radius:8px;font-size:13px;color:#172b42;background:#fff}.roles-add-form input{flex:1.5;min-width:200px;padding:9px 12px;border:1px solid #d5dee8;border-radius:8px;font-size:13px;color:#172b42;font-family:Consolas,SF Mono,monospace}.roles-add-form .roles-add-btn{margin-left:auto}.work-add-btn{padding:9px 16px;background:#2f6df6;color:#fff;border:0;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;box-shadow:0 2px 6px #2f6df640}.work-add-btn:hover{background:#1f5ae0}.work-emp-cell{display:flex;flex-direction:column;gap:1px}.work-emp-cell strong{font-size:13px;color:#172b42;font-family:Consolas,SF Mono,monospace}.work-emp-cell small{font-size:11px;color:#8a99ab}.work-note-preview{margin:0;font-size:12px}.roles-add-card{padding:18px 20px;margin-bottom:16px}.roles-add-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.roles-add-card-head h3{margin:0;font-size:15px;font-weight:600;color:#172b42}.roles-add-form{display:flex;flex-direction:column;gap:12px}.roles-add-form select{padding:9px 12px;border:1px solid #d5dee8;border-radius:8px;font-size:13px;color:#172b42;background:#fff}.roles-add-form input{padding:9px 12px;border:1px solid #d5dee8;border-radius:8px;font-size:13px;color:#172b42;font-family:Consolas,SF Mono,monospace}.roles-add-form select:focus,.roles-add-form input:focus{outline:none;border-color:#2f6df6}.roles-add-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.hr-file-reports{display:flex;flex-direction:column;gap:16px;color:#172b4d}.hr-file-intro{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;background:#fff;border:1px solid #e3eaf2;border-radius:12px}.hr-file-intro span{color:#4169a1;font-size:13px;font-weight:700;text-transform:uppercase}.hr-file-intro h2{margin:6px 0 3px;font-size:20px}.hr-file-intro p{margin:0;color:#73839b;font-size:13px}.hr-file-intro button,.hr-file-section header button,.hr-file-pagination button{padding:8px 12px;color:#365f98;background:#fff;border:1px solid #d8e1ed;border-radius:8px;cursor:pointer}.admin-search.hr-file-search{width:100%;min-width:0}.hr-file-filters{display:grid;grid-template-columns:repeat(5,minmax(125px,1fr)) auto;gap:10px;align-items:end}.hr-file-filters label{display:flex;flex-direction:column;gap:5px;color:#64758b;font-size:12px}.hr-file-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.hr-file-kpi{display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;align-items:center;gap:2px 10px;padding:14px;background:#fff;border:1px solid #e3eaf2;border-radius:11px}.hr-file-kpi>span{grid-row:1 / 3;display:grid;place-items:center;width:34px;height:34px;color:#4775b4;background:#edf4fd;border-radius:9px;font-weight:700}.hr-file-kpi small{color:#73839b;font-size:12px}.hr-file-kpi strong{font-size:23px;line-height:1.2}.hr-file-kpi.pending>span{color:#a56a05;background:#fff6e5}.hr-file-kpi.approved>span{color:#16804b;background:#eaf8ef}.hr-file-kpi.rejected>span,.hr-file-kpi.overdue>span{color:#bd3d4b;background:#fff0f0}.hr-file-kpi.sent>span{color:#2876a6;background:#eaf5fb}.hr-file-kpis-bottom{grid-template-columns:repeat(3,minmax(0,1fr));max-width:62%}.hr-file-filter-button{height:38px;min-width:40px;color:#315f9b;background:#fff;border:1px solid #d8e1ed;border-radius:8px;cursor:pointer;font-size:19px}.hr-file-section{display:flex;flex-direction:column;gap:10px}.hr-file-section>header{display:flex;justify-content:space-between;align-items:center}.hr-file-section h2{margin:0;font-size:15px}.hr-file-section header button{border:0;background:transparent;font-size:12px}.hr-file-table-wrap{overflow:auto;border:1px solid #e3eaf2;border-radius:11px;background:#fff}.hr-file-table{width:100%;border-collapse:collapse;font-size:12px}.hr-file-table th{padding:11px 12px;color:#708096;background:#f7f9fc;text-align:left;font-size:11px;font-weight:700;white-space:nowrap}.hr-file-table td{padding:12px;border-top:1px solid #edf1f6;white-space:nowrap}.hr-file-table td strong,.hr-file-table td small{display:block}.hr-file-table td small{margin-top:4px;color:#8491a4;font-size:11px}.hr-file-status{display:inline-block;padding:4px 8px;border-radius:20px;font-size:11px;font-style:normal;font-weight:700}.hr-file-status.pending{color:#966108;background:#fff4da}.hr-file-status.approved{color:#157443;background:#e9f7ee}.hr-file-status.sent{color:#2876a6;background:#eaf5fb}.hr-file-status.rejected{color:#b3323f;background:#ffeded}.hr-file-view{padding:5px 10px;color:#315f9b;background:#fff;border:1px solid #d9e4f1;border-radius:7px;cursor:pointer}.hr-file-row-actions,.hr-file-actions-inline{display:flex;align-items:center;gap:5px}.hr-file-row-actions{flex-wrap:wrap;min-width:180px}.hr-file-row-actions button,.hr-file-actions-inline button{padding:5px 8px;color:#315f9b;background:#fff;border:1px solid #d9e4f1;border-radius:6px;cursor:pointer;font-size:10px;white-space:nowrap}.hr-file-row-actions button:nth-child(3),.hr-file-row-actions button:nth-child(4){color:#95600c}.hr-file-row-actions button:nth-child(5){color:#a73540}.hr-file-empty{padding:22px!important;color:#7b8798;text-align:center}.hr-file-activity{display:grid;gap:8px;margin:0;padding:15px 18px;list-style:none;background:#fff;border:1px solid #e3eaf2;border-radius:11px}.hr-file-activity li{display:flex;gap:14px;color:#4b5d73;font-size:12px}.hr-file-activity time{min-width:42px;color:#315f9b;font-weight:700}.hr-file-pagination{display:flex;justify-content:space-between;align-items:center;padding:10px 2px;color:#718097;font-size:12px}.hr-file-pagination div{display:flex;align-items:center;gap:12px}.hr-file-pagination button{min-width:32px;padding:5px 8px}.hr-file-pagination button:disabled{opacity:.45;cursor:default}.hr-report-error{display:flex;justify-content:space-between;padding:10px 13px;color:#a52f39;background:#fff1f1;border:1px solid #ffd3d3;border-radius:8px;font-size:13px}.hr-report-error button{border:0;background:transparent;color:inherit;font-size:18px;cursor:pointer}.hr-report-success{display:flex;justify-content:space-between;padding:10px 13px;color:#176b42;background:#effaf3;border:1px solid #b9e6c9;border-radius:8px;font-size:13px}.hr-report-success button{border:0;background:transparent;color:inherit;font-size:18px;cursor:pointer}.hr-file-overlay{position:fixed;z-index:1100;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;background:#172b4d66}.hr-file-modal{width:min(560px,100%);height:100%;overflow:auto;padding:22px;background:#fff;box-shadow:-8px 0 30px #11213b20}.hr-file-modal>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.hr-file-modal>header h2{margin:0;font-size:17px}.hr-file-modal>header button{border:0;background:transparent;color:#718097;font-size:24px;cursor:pointer}.hr-file-modal h3{margin:0 0 5px;font-size:20px}.hr-file-meta{color:#77869a;font-size:12px}.hr-file-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.hr-file-detail-grid>span{padding:11px;color:#78879a;background:#f7f9fc;border-radius:8px;font-size:11px}.hr-file-report-code{color:#4775b4;font-size:12px;font-weight:700}.hr-file-content-block{margin:9px 0;padding:11px;background:#f8fafd;border-radius:8px;font-size:12px}.hr-file-content-block strong{color:#405775}.hr-file-content-block p{margin:6px 0 0;color:#66778d;white-space:pre-wrap}.hr-file-flow{display:flex;align-items:flex-start;justify-content:space-between}.hr-file-flow span{position:relative;display:flex;flex:1;flex-direction:column;gap:7px;color:#a4afbd;font-size:15px}.hr-file-flow span:not(:last-child):after{position:absolute;top:7px;left:15px;width:calc(100% - 25px);height:1px;background:#dce4ed;content:""}.hr-file-flow span.done,.hr-file-flow span.active{color:#2c70a5}.hr-file-flow small{color:#77869a;font-size:10px}.hr-file-detail-grid strong{display:block;margin-top:5px;color:#223653;font-size:12px}.hr-file-modal-section{padding:16px 0;border-top:1px solid #edf1f6}.hr-file-modal-section h4{margin:0 0 12px;font-size:13px}.hr-file-version{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #f0f2f5;font-size:12px}.hr-file-version small{display:block;margin-top:4px;color:#8390a2}.hr-file-version button{padding:5px 9px;color:#315f9b;background:#fff;border:1px solid #dce5f0;border-radius:7px;cursor:pointer}.hr-file-modal textarea,.hr-file-modal input:not([type=file]){box-sizing:border-box;width:100%;margin:0 0 9px;padding:10px 11px;border:1px solid #dce4ed;border-radius:8px;font:inherit;font-size:12px}.hr-file-modal textarea{min-height:75px;resize:vertical}.hr-file-drop{display:block;margin-bottom:10px;padding:15px;color:#55708f;background:#f8fafd;border:1px dashed #b8c9dc;border-radius:8px;font-size:12px;cursor:pointer}.hr-file-drop input{display:block;max-width:100%;margin-top:8px}.hr-file-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.hr-file-actions button{padding:8px 12px;color:#a1353f;background:#fff;border:1px solid #edcbd0;border-radius:8px;cursor:pointer}.hr-file-actions button.primary{color:#fff;background:#315f9b;border-color:#315f9b}.hr-file-actions button:disabled{opacity:.55;cursor:default}.hr-file-rejection{padding:12px;color:#92333b;background:#fff3f3;border-radius:8px;font-size:12px}.hr-file-rejection p{margin-bottom:0}.hr-file-timeline{padding-left:5px;color:#53647a;font-size:12px}.hr-file-dialog-overlay{z-index:1110;justify-content:center;align-items:center;padding:16px}.hr-file-action-dialog{width:min(440px,100%);padding:20px;background:#fff;border-radius:12px;box-shadow:0 16px 50px #11213b30}.hr-file-action-dialog header{display:flex;justify-content:space-between;align-items:center}.hr-file-action-dialog h3{margin:0;font-size:16px}.hr-file-action-dialog header button{border:0;background:transparent;color:#738299;font-size:23px;cursor:pointer}.hr-file-action-dialog p{color:#738299;font-size:12px}.hr-file-action-dialog label{display:block;margin:12px 0;color:#52657d;font-size:12px}.hr-file-action-dialog textarea,.hr-file-action-dialog input{box-sizing:border-box;display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #dce4ed;border-radius:8px;font:inherit;font-size:12px}.hr-file-action-dialog select{box-sizing:border-box;display:block;width:100%;margin-top:6px;padding:10px;color:#263b54;background:#fff;border:1px solid #dce4ed;border-radius:8px;font:inherit;font-size:12px}.hr-file-action-dialog textarea{min-height:82px;resize:vertical}.hr-file-action-dialog--forward{width:min(560px,100%);max-height:90vh;overflow:auto}.hr-file-recipient-card{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;margin:-3px 0 12px;padding:9px 10px;color:#536780;background:#f5f8fc;border:1px solid #e6edf5;border-radius:8px;font-size:11px}.hr-file-recipient-card strong{grid-column:1 / -1;color:#203754;font-size:12px}.hr-file-forward-content{margin:12px 0;padding:10px 12px;background:#fbfcfe;border:1px solid #e6edf5;border-radius:8px}.hr-file-forward-content h4{margin:0 0 8px;color:#293f5b;font-size:12px}.hr-file-forward-content p{margin:6px 0;color:#536780;font-size:11px;line-height:1.5;white-space:pre-wrap}.hr-file-forward-content p strong{color:#304a68}.hr-file-action-dialog footer{display:flex;justify-content:flex-end;gap:8px}.hr-file-action-dialog footer button{padding:8px 12px;color:#596b80;background:#fff;border:1px solid #dce4ed;border-radius:8px;cursor:pointer}.hr-file-action-dialog footer button.primary{color:#fff;background:#315f9b;border-color:#315f9b}@media(max-width:900px){.hr-file-filters,.hr-file-kpis{grid-template-columns:repeat(3,1fr)}.hr-file-kpis-bottom{max-width:100%}}@media(max-width:600px){.hr-file-filters,.hr-file-kpis{grid-template-columns:repeat(2,1fr)}.hr-file-intro{align-items:flex-start;gap:10px}.hr-file-detail-grid{grid-template-columns:1fr}}.work-shell{display:flex;flex-direction:column;gap:18px}.work-search{position:relative;display:block;margin:12px 0 14px}.work-search>span{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#94a3b5;font-size:15px;pointer-events:none;transition:color .15s}.work-search input{width:100%;box-sizing:border-box;min-height:40px;padding:10px 34px 10px 36px;border:1.5px solid #e2e8f0;border-radius:12px;background:#f6f9fc;font-size:13px;color:#172b42;font-family:inherit;outline:none;transition:border-color .15s,background .15s,box-shadow .15s}.work-search input::placeholder{color:#94a3b5}.work-search input:focus{background:#fff;border-color:#2f6df6;box-shadow:0 0 0 3px #2f6df624}.work-search input:focus~span,.work-search:focus-within>span{color:#2f6df6}.work-search input::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#c3cedd;cursor:pointer}.work-sidebar.collapsed .work-search{display:none}.work-nav-item{display:flex;align-items:center;gap:9px}.work-nav-ico{width:20px;text-align:center;opacity:.8;font-size:14px}.work-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.work-kpi{border:1px solid #e6edf5;border-radius:12px;padding:14px 16px;background:#fff;display:flex;flex-direction:column;gap:4px}.work-kpi span{font-size:11px;color:#8a99ab;text-transform:uppercase;letter-spacing:.3px}.work-kpi strong{font-size:24px;color:#172b42}.work-kpi--ok{border-left:3px solid #2e7d32}.work-kpi--bad{border-left:3px solid #c62828}.work-ov-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:16px}.work-ov-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.work-ov-head h3{margin:0;font-size:15px;color:#172b42}.work-quick-link{border:0;background:transparent;color:#2f6df6;cursor:pointer;font-size:13px;font-weight:600}.work-ov-list{display:flex;flex-direction:column;gap:6px}.work-ov-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid #eef2f7;border-radius:10px;background:#fbfcfe}.work-ov-ico{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:15px;flex:0 0 auto}.work-ov-ico.report{background:#eef4ff;color:#2f6df6}.work-ov-ico.leave{background:#fdeaea;color:#c62828}.work-ov-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.work-ov-text strong{font-size:13px;color:#172b42;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.work-ov-text small{font-size:11px;color:#8a99ab}.work-status{font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px;white-space:nowrap}.work-status--ok{background:#eaf5ea;color:#2e7d32}.work-status--warn{background:#fff4e5;color:#e65100}.work-status--bad{background:#fdecec;color:#c62828}.work-status--info{background:#eef4ff;color:#1565c0}.work-status--muted{background:#f1f5f9;color:#8a99ab}.work-card-title{margin:0 0 12px;font-size:15px;color:#172b42}.work-reports-note p{font-size:13px;color:#63758a;margin:0}.work-reports-list{display:flex;flex-direction:column;gap:12px}.work-report{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid #e6edf5;border-radius:12px;background:#fff}.work-report-ico{width:40px;height:40px;border-radius:10px;background:#eef4ff;color:#2f6df6;display:flex;align-items:center;justify-content:center;font-size:17px;flex:0 0 auto}.work-report-main{flex:1;min-width:0}.work-report-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.work-report-top strong{font-size:14px;color:#172b42}.work-report-main>small{font-size:11px;color:#8a99ab}.work-report-comment{font-size:12px;color:#63758a;margin:6px 0 0;padding:6px 10px;background:#f8fafc;border-radius:8px}.work-report-comment--upper{background:#fff4e5}.work-report-btn{border:1px solid #d5dee8;background:#fff;color:#172b42;padding:7px 12px;border-radius:8px;cursor:pointer;font-size:12px;white-space:nowrap}.work-report-btn:hover{border-color:#2f6df6;color:#2f6df6}.work-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e1a2673;display:flex;align-items:center;justify-content:center;z-index:100}.work-detail{max-width:560px;width:94%;max-height:88vh;overflow:auto}.work-detail-note,.work-detail-block{margin:12px 0;padding:10px 12px;background:#f8fafc;border-radius:10px}.work-detail-note--upper{background:#fff4e5}.work-detail-block strong,.work-detail-note strong{font-size:12px;color:#63758a;text-transform:uppercase;letter-spacing:.3px}.work-detail-block p,.work-detail-note p{font-size:13px;color:#172b42;margin:6px 0 0;line-height:1.5}.work-detail-file{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #eef2f7;font-size:13px;color:#4a5a6d}.work-detail-file small{color:#8a99ab;margin-left:4px}.work-detail-file button{border:1px solid #d5dee8;background:#fff;color:#2f6df6;padding:5px 10px;border-radius:8px;cursor:pointer;font-size:12px}@media(max-width:900px){.work-kpis{grid-template-columns:repeat(2,1fr)}.work-ov-grid{grid-template-columns:1fr}}.leave-page{display:flex;flex-direction:column;gap:20px}.leave-page-head,.leave-section-head,.leave-calendar-head,.leave-pagination,.leave-detail-type,.leave-modal-head,.leave-modal-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.leave-page-head h1{margin:0 0 4px;font-family:Montserrat,Be Vietnam Pro,sans-serif;font-size:26px;color:#0e1a26}.leave-page-head p{margin:0;color:#5a6b7b;font-size:14px}.leave-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 16px;border:1px solid transparent;border-radius:8px;font:inherit;font-size:14px;font-weight:600;cursor:pointer}.leave-btn.primary{border-color:#005b94;background:#005b94;color:#fff}.leave-btn.primary:hover{background:#004b7a}.leave-btn.secondary{border-color:#d1d9e0;background:#fff;color:#38506a}.leave-btn:disabled{cursor:not-allowed;opacity:.6}.leave-notice{padding:11px 14px;border:1px solid #bbf7d0;border-radius:8px;background:#f0fdf4;color:#15803d;font-size:14px}.leave-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.leave-stat-card{display:flex;min-height:112px;flex-direction:column;justify-content:space-between;padding:16px 18px;border:1px solid #e8edf2;border-radius:12px;background:#fff;box-shadow:0 4px 14px #0e1a260a}.leave-stat-card span{color:#5a6b7b;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.leave-stat-card strong{color:#0e1a26;font-family:Montserrat,Be Vietnam Pro,sans-serif;font-size:24px}.leave-requests{display:flex;flex-direction:column;gap:14px}.leave-section-head h2,.leave-calendar-head h2{margin:0;color:#182a3a;font-size:18px}.leave-view-switch{display:inline-flex;padding:3px;border:1px solid #e2e8f0;border-radius:9px;background:#f8fafc}.leave-view-switch button{padding:7px 12px;border:0;border-radius:6px;background:transparent;color:#5a6b7b;font:inherit;font-size:13px;cursor:pointer}.leave-view-switch button.active{background:#fff;color:#005b94;box-shadow:0 1px 4px #0e1a261f}.leave-filters{display:flex;align-items:end;flex-wrap:wrap;gap:10px}.leave-filters select,.leave-filters input{min-height:38px;padding:7px 10px;border:1px solid #dbe2e8;border-radius:7px;background:#fff;color:#26394a;font:inherit;font-size:13px}.leave-filters label{display:flex;align-items:center;gap:7px;color:#5a6b7b;font-size:12px}.leave-filters label input{width:150px}.leave-table-card{padding:0;overflow:hidden}.leave-table{min-width:700px}.leave-table th{padding-top:13px;padding-bottom:13px;background:#f8fafc}.leave-table td{padding-top:13px;padding-bottom:13px}.leave-date-end{display:block;margin-top:4px;color:#64748b;font-size:12px}.leave-status{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.leave-status.pending{background:#fef3c7;color:#a16207}.leave-status.approved{background:#dcfce7;color:#15803d}.leave-status.rejected{background:#fee2e2;color:#b42323}.leave-status.cancelled{background:#eef2f6;color:#64748b}.leave-view-btn{padding:6px 10px;border:1px solid #d1d9e0;border-radius:7px;background:#fff;color:#005b94;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.leave-empty{padding:28px!important;color:#64748b;text-align:center!important}.leave-pagination{color:#64748b;font-size:13px}.leave-pagination>div{display:flex;gap:5px}.leave-pagination button,.leave-calendar-nav button{min-width:32px;height:32px;border:1px solid #dbe2e8;border-radius:7px;background:#fff;color:#38506a;font:inherit;cursor:pointer}.leave-pagination button.active{border-color:#005b94;background:#005b94;color:#fff}.leave-pagination button:disabled{cursor:default;opacity:.45}.leave-calendar-card{display:flex;flex-direction:column;gap:18px}.leave-calendar-nav{display:flex;align-items:center;gap:12px}.leave-calendar-nav strong{min-width:150px;color:#005b94;text-align:center;text-transform:capitalize}.leave-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.leave-calendar-grid>strong{padding:8px;border-radius:6px;background:#eff6ff;color:#005b94;font-size:12px;text-align:center}.leave-calendar-day{display:flex;min-height:62px;flex-direction:column;align-items:flex-start;gap:5px;padding:8px;border:1px solid #eef2f6;border-radius:8px;background:#fff;color:#38506a;font-size:13px}.leave-calendar-day.empty{border-color:transparent;background:transparent}.leave-calendar-day i,.leave-calendar-list i{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:#d3a021}.leave-calendar-day i.approved,.leave-calendar-list i.approved{background:#15803d}.leave-calendar-day i.rejected,.leave-calendar-list i.rejected{background:#b42323}.leave-calendar-day i.cancelled,.leave-calendar-list i.cancelled{background:#94a3b8}.leave-calendar-list{display:flex;flex-direction:column;gap:9px;margin:0;padding:0;list-style:none}.leave-calendar-list li{display:flex;align-items:center;gap:9px;color:#38506a;font-size:13px}.leave-calendar-list b{margin-left:auto;color:#64748b;font-size:12px;font-weight:500}.leave-modal-backdrop{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#0e1a2673}.leave-modal{width:min(100%,560px);max-height:min(90vh,820px);overflow-y:auto;border:1px solid #e8edf2;border-radius:14px;background:#fff;box-shadow:0 20px 60px #0e1a2633}.leave-modal-head{position:sticky;top:0;padding:17px 22px;border-bottom:1px solid #eef2f6;background:#fff}.leave-modal-head h2{margin:0;color:#182a3a;font-size:18px;text-transform:uppercase}.leave-icon-btn{width:32px;height:32px;border:0;border-radius:7px;background:#f1f5f9;color:#38506a;font-size:22px;cursor:pointer}.leave-form,.leave-detail-body{display:flex;flex-direction:column;gap:16px;padding:20px 22px 22px}.leave-form>label,.leave-form-row>label{display:flex;flex-direction:column;gap:7px;color:#38506a;font-size:13px;font-weight:600}.leave-form label>span{display:inline;color:#b42323}.leave-form input:not([type=radio]),.leave-form select,.leave-form textarea{width:100%;min-height:42px;padding:9px 11px;border:1px solid #dbe2e8;border-radius:7px;background:#fff;color:#182a3a;font:inherit;font-size:14px}.leave-form textarea{resize:vertical}.leave-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.leave-period{display:flex;flex-wrap:wrap;gap:12px 22px;margin:0;padding:0;border:0}.leave-period legend{margin-bottom:10px;color:#38506a;font-size:13px;font-weight:600}.leave-period label{display:inline-flex;align-items:center;gap:7px;color:#38506a;font-size:13px}.leave-days-preview,.leave-balance-note{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #e8edf2;border-radius:8px;background:#f8fafc;color:#38506a;font-size:13px}.leave-days-preview strong{color:#182a3a}.leave-balance-note{justify-content:flex-start;border-color:#bfdbfe;background:#eff6ff;color:#1e5b8c}.leave-form-error{margin:0;color:#b42323;font-size:13px}.leave-modal-actions{justify-content:flex-end;padding-top:4px}.leave-detail-type{align-items:flex-start}.leave-detail-type>strong{color:#182a3a;font-size:16px}.leave-detail-dates{margin:0;color:#38506a;font-weight:600}.leave-detail-dates span{margin:0 5px;color:#94a3b8}.leave-detail-field>span{color:#64748b;font-size:12px;font-weight:600}.leave-detail-field p{margin:5px 0 0;color:#26394a;white-space:pre-wrap}.leave-timeline{padding-top:8px;border-top:1px solid #eef2f6}.leave-timeline h3{margin:0 0 14px;color:#182a3a;font-size:13px;letter-spacing:.04em}.leave-timeline-item{position:relative;display:flex;gap:12px;padding-bottom:15px}.leave-timeline-item:not(:last-child):after{position:absolute;top:10px;bottom:0;left:4px;width:1px;background:#dbe2e8;content:""}.leave-timeline-item i{z-index:1;width:9px;height:9px;margin-top:2px;border:2px solid #005b94;border-radius:50%;background:#fff}.leave-timeline-item i.complete{background:#15803d;border-color:#15803d}.leave-timeline-item div{display:flex;flex-direction:column;gap:3px}.leave-timeline-item strong{color:#38506a;font-size:13px}.leave-timeline-item span{color:#94a3b8;font-size:12px}@media(max-width:900px){.leave-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.leave-page-head,.leave-section-head,.leave-calendar-head{align-items:flex-start;flex-direction:column}.leave-page-head .leave-btn{width:100%}.leave-filters>*,.leave-filters label,.leave-filters label input{width:100%}.leave-form-row{grid-template-columns:1fr}.leave-calendar-day{min-height:48px;padding:5px}.leave-modal-backdrop{padding:10px}.leave-modal-head,.leave-form,.leave-detail-body{padding-left:16px;padding-right:16px}}.profile-layout{display:grid;grid-template-columns:240px 1fr;gap:20px;align-items:start}.profile-card{background:#fff;border:1px solid #e8edf2;border-radius:14px;padding:22px 24px;box-shadow:0 6px 20px #0e1a260f;margin-bottom:20px}.profile-card:last-child{margin-bottom:0}.profile-card h2{margin:0 0 16px;font-family:Montserrat,Be Vietnam Pro,sans-serif;font-size:16px;font-weight:800;color:#182a3a}.profile-avatar{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.profile-avatar-img{width:120px;height:120px;display:grid;place-items:center;border-radius:14px;overflow:hidden;border:1px solid #e8edf2;background:#f6f7f9}.profile-avatar-img img{width:100%;height:100%;object-fit:cover}.profile-avatar-img span{width:100%;height:100%;display:grid;place-items:center;background:#e3f0ff;color:#005b94;font-family:Montserrat,Be Vietnam Pro,sans-serif;font-size:40px;font-weight:800}.profile-avatar-btn{width:100%;padding:10px;background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:600;font-family:inherit;color:#182a3a;cursor:pointer;transition:border-color .15s,color .15s}.profile-avatar-btn:hover{border-color:#005b94;color:#005b94}.profile-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.profile-head strong{display:block;font-family:Montserrat,Be Vietnam Pro,sans-serif;font-size:18px;font-weight:800;color:#0e1a26}.profile-head span{font-size:13px;color:#5a6b7b}.profile-info{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-info dd{white-space:normal;word-break:break-word}.profile-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:0}.profile-info>div{display:flex;flex-direction:column;gap:1px;min-width:0}.profile-info dt{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#9aa9b8}.profile-info dd{margin:0;font-size:13px;font-weight:600;color:#38506a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-notice{padding:12px 16px;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:8px;color:#15803d;font-size:14px;font-weight:600;margin:0 0 16px}@media(max-width:900px){.profile-layout,.profile-info{grid-template-columns:1fr}}.hr-body{display:flex;flex-direction:column;gap:18px}.hr-kpi-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.hr-card{padding:18px 20px;border-radius:12px;background:#fbfcfe;border:1px solid #edf2f7;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:6px 10px;min-height:90px}.hr-card-head,.hr-card-sub{grid-column:1}.hr-card-value{grid-column:2;grid-row:1 / span 2;padding-left:14px}.hr-card--ok{background:#edf9f1;border-color:#d9efe1}.hr-card--warn{background:#f9f3e5;border-color:#f0e0bc}.hr-card-head{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:#1f2f3a}.hr-card-icon{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#eef2f6;font-size:15px;flex-shrink:0}.hr-card--ok .hr-card-icon{background:#d9efe1}.hr-card--warn .hr-card-icon{background:#f3e6bd}.hr-card-value{display:flex;align-items:baseline;justify-content:flex-end;gap:4px}.hr-card-value strong{font-family:Montserrat,Be Vietnam Pro,sans-serif;font-size:34px;font-weight:800;color:#0e1a26;line-height:.9}.hr-card--ok .hr-card-value strong{color:#1b7a43}.hr-card--warn .hr-card-value strong{color:#8a5b08}.hr-card-of{font-size:18px;font-weight:600;color:#5a6b7b}.hr-card-sub{margin:0;font-size:13px;color:#5a6b7b;line-height:1.5}.hr-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;flex-wrap:wrap}.hr-filter-bar{display:flex;flex-direction:column;gap:12px;min-width:0}.hr-filter-fields{display:grid;grid-template-columns:minmax(280px,2fr) repeat(3,minmax(150px,1fr)) auto;gap:10px;align-items:center;min-width:0}.hr-input{box-sizing:border-box;width:100%;min-width:0;height:42px;padding:10px 14px;border:1px solid #dfe6ee;border-radius:10px;font-size:14px;background:#fff;color:#0e1a26;outline:none}.hr-input--search{min-width:0}.hr-select{box-sizing:border-box;width:100%;min-width:0;height:42px;padding:10px 14px;border:1px solid #dfe6ee;border-radius:10px;font-size:14px;background:#fff;color:#0e1a26;text-overflow:ellipsis;outline:none}.hr-clear-filter{white-space:nowrap}.hr-clear-filter--hidden{display:none}.hr-btn{padding:10px 14px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:background .15s,border-color .15s,color .15s}.hr-btn--ghost{background:#fff;border:1px solid #dfe6ee;color:#182a3a}.hr-btn--ghost:hover{border-color:#1a73d9;color:#1a73d9}.hr-btn--primary{background:#0c6ecf;color:#fff;border:1px solid #0c6ecf}.hr-btn--primary:hover{background:#0c5daa;border-color:#0c5daa}.hr-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px;min-width:0;margin-left:auto;flex:1 1 auto}.hr-actions .hr-btn{flex:0 0 auto;white-space:nowrap}.hr-mini-btn{min-height:30px;padding:5px 9px;border:1px solid #d1dbe5;border-radius:7px;background:#fff;color:#19334a;font:inherit;font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.hr-mini-btn:hover:not(:disabled){border-color:#005b94;background:#f0f7fc;color:#005b94}.hr-mini-btn--archive{border-color:#f0d8ae;background:#fffaf0;color:#8a5a0a}.hr-mini-btn--archive:hover:not(:disabled){border-color:#d8a849;background:#fff4d6;color:#704600}.hr-mini-btn--delete{border-color:#f1caca;color:brown}.hr-mini-btn--delete:hover:not(:disabled){border-color:#d88;background:#fff5f5;color:#8f1c1c}.hr-mini-btn:disabled{border-color:#e5eaf0;background:#f5f7f9;color:#8a98a6;cursor:default}.hr-row-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.hr-employee-list{min-width:0}.hr-missing-legend{display:flex;flex-wrap:wrap;align-items:center;gap:7px 14px;margin:0 0 10px;padding:10px 12px;border:1px solid #e5ebf1;border-radius:8px;background:#fff;color:#526477;font-size:12px}.hr-missing-legend strong{color:#263b50}.hr-missing-legend b,.hr-missing-number{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#e8f2fb;color:#075b91;font-size:11px;font-weight:700}.hr-table-wrap{overflow-x:auto;border:1px solid #eef2f6;border-radius:10px;background:#fff}.hr-table{width:100%;border-collapse:collapse;font-size:14px}.hr-table th,.hr-table td{text-align:left;padding:12px 14px;border-bottom:1px solid #eef2f6}.hr-table th{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#5a6b7b;background:#fbfcfe}.hr-table tbody tr:last-child td{border-bottom:none}.hr-table tbody tr:hover{background:#fbfcfe}.hr-col-check{width:44px}.hr-empty{text-align:center;color:#9aa9b8;padding:32px 0}.hr-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.hr-badge--ok{background:#dcfce7;color:#15803d}.hr-badge--warn{background:#fef9c3;color:#a16207}.hr-badge--info{background:#dbeafe;color:#1d4ed8}.hr-badge--bad{background:#fee2e2;color:#b42323}.hr-badge--muted{background:#eef2f6;color:#5a6b7b}.hr-pagination{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hr-page-btn{width:34px;height:34px;border:1px solid #d1d5db;border-radius:8px;background:#fff;font-size:14px;cursor:pointer;color:#182a3a}.hr-page-btn:hover:not(:disabled){border-color:#005b94;color:#005b94}.hr-page-btn:disabled{opacity:.4;cursor:not-allowed}.hr-page-list{display:flex;gap:6px;align-items:center}.hr-page-num{min-width:32px;height:34px;padding:0 8px;border:1px solid #d1d5db;border-radius:8px;background:#fff;font-size:14px;cursor:pointer;color:#182a3a}.hr-page-num.active{background:#005b94;border-color:#005b94;color:#fff;font-weight:700}.hr-page-gap{padding:0 4px;color:#9aa9b8}.hr-page-summary{margin-left:auto;font-size:13px;color:#5a6b7b}.hrf-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:20px;background:#0e1a2685}.hrf-modal{display:flex;flex-direction:column;width:min(980px,100%);max-height:min(900px,calc(100dvh - 40px));overflow:hidden;border:1px solid #e3eaf0;border-radius:16px;background:#fff;box-shadow:0 24px 72px #0e1a263d}.hrf-head,.hrf-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;background:#fff}.hrf-head{border-bottom:1px solid #e8edf2}.hrf-head h3{margin:0;color:#0e1a26;font-size:18px}.hrf-head>button{width:34px;height:34px;border:1px solid #d8e0e8;border-radius:8px;background:#fff;color:#38506a;font-size:23px;line-height:1;cursor:pointer}.hrf-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-height:0;padding:20px 22px;overflow-y:auto}.hrf-group{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid #e8edf2;border-radius:10px;background:#fbfcfe}.hrf-group h3{margin:0;color:#19334a;font-size:14px}.hrf-field{display:flex;flex-direction:column;gap:6px;color:#38506a;font-size:12px;font-weight:600}.hrf-input{width:100%;min-width:0;padding:9px 10px;border:1px solid #d1dbe5;border-radius:7px;background:#fff;color:#182a3a;font:inherit}.hrf-check{display:flex;align-items:center;gap:8px;color:#38506a;font-size:13px}.hrf-check input{accent-color:#005b94}.hrf-foot{flex-wrap:wrap;border-top:1px solid #e8edf2}.hrf-missing{color:#a16207;font-size:12px}.hrf-actions{display:flex;gap:8px;margin-left:auto}.hrf-actions button:disabled{cursor:not-allowed;opacity:.5}@media(max-width:1000px){.hr-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.hr-filter-fields{grid-template-columns:minmax(0,1fr) repeat(3,minmax(120px,150px))}.hr-clear-filter{grid-column:1 / -1;justify-self:start}}@media(max-width:760px){.hr-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.hr-input--search{grid-column:1 / -1}}@media(max-width:560px){.hr-kpi-row{grid-template-columns:1fr}.hr-card{display:flex;flex-direction:column;align-items:stretch}.hr-card-value{padding-left:0}.hr-page-summary{margin-left:0}.hr-topbar{display:flex;flex-direction:column;align-items:stretch;gap:10px}.hr-tabs{display:flex;justify-content:center;width:100%;margin:0}.hr-tab{flex:1 1 100%;width:100%;text-align:center}.hr-filter-fields{grid-template-columns:minmax(0,1fr)}.hr-input--search,.hr-clear-filter{grid-column:auto}.hr-actions{justify-content:flex-start}.hr-actions .hr-btn{flex:1 1 calc(50% - 8px)}.hrf-modal-backdrop{padding:8px}.hrf-modal{max-height:calc(100dvh - 16px);border-radius:12px}.hrf-body{grid-template-columns:1fr;padding:14px}.hrf-head,.hrf-foot{padding:12px 14px}}.hr-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:0;margin-bottom:10px;flex:1 1 auto}.hr-tab{padding:9px 18px;border:1px solid #dfe6ee;border-radius:10px;background:#fff;font-size:14px;font-weight:500;color:#3b4d5e;cursor:pointer;transition:border-color .15s,background .15s,color .15s,box-shadow .15s}.hr-tab:hover{border-color:#1a73d9;color:#1a73d9}.hr-tab.active{background:#edf5ff;border-color:#1a73d9;color:#0b68c9;font-weight:700;box-shadow:inset 0 0 0 1px #1a73d914}.hr-note{margin:8px 0 0;font-size:12px;color:#9aa9b8}.hr-view-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:20px;background:#0e1a2673}.hr-view-box{width:100%;max-width:620px;max-height:calc(100vh - 40px);overflow-y:auto;background:#fff;border-radius:16px;padding:24px 26px;box-shadow:0 20px 60px #0e1a2633}.hr-view-box h3{margin:0 0 16px;font-family:Montserrat,Be Vietnam Pro,sans-serif;font-size:18px;font-weight:700;color:#0e1a26}.hr-view-box h3 small{color:#718397;font-size:13px;font-weight:500}.hr-view-actions{display:flex;justify-content:flex-end;gap:8px}.hr-view-grid{margin:0 0 16px;display:grid;grid-template-columns:110px 1fr;gap:8px 12px;font-size:14px}.hr-view-grid>span{color:#9aa9b8;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;align-self:center}.hr-view-grid dd{margin:0;color:#182a3a}.hr-table td.hr-missing{min-width:86px;white-space:nowrap}.hr-missing-number{margin-right:4px;background:#fff4dc;color:#a16207}.hr-missing-complete{color:#218838;font-size:12px;font-weight:600}.hr-import-report{width:min(900px,100%);max-height:calc(100vh - 40px);overflow:hidden;display:flex;flex-direction:column;padding:24px;border-radius:16px;background:#fff;box-shadow:0 20px 60px #0e1a2633}.hr-import-report-head,.hr-import-report-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.hr-import-report-head h3{margin:0;color:#0e1a26;font-size:18px}.hr-import-report-head>button{width:34px;height:34px;border:1px solid #d7e2ef;border-radius:8px;background:#fff;color:#38506a;font-size:22px;cursor:pointer}.hr-import-summary{margin:16px 0;color:#38506a}.hr-import-report-table-wrap{min-height:0;overflow:auto;border:1px solid #e3eaf1;border-radius:8px}.hr-import-report-table{width:100%;border-collapse:collapse;font-size:13px}.hr-import-report-table th,.hr-import-report-table td{padding:10px 12px;border-bottom:1px solid #e8edf2;text-align:left;vertical-align:top}.hr-import-report-table th{position:sticky;top:0;background:#f6f8fa;color:#38506a}.hr-import-report-table td:last-child{min-width:280px;color:#8a3d32}.hr-import-report-table .hr-import-row--created td{color:#218838}.hr-import-report-table .hr-import-row--created td:last-child{color:#218838}.hr-import-empty{margin:8px 0 20px;color:#38506a}.hr-import-report-actions{justify-content:flex-end;margin-top:16px}@media(max-width:560px){.hr-topbar{align-items:flex-start}.hr-tabs,.hr-actions{width:100%}.hr-tabs{flex-wrap:wrap}.hr-actions{justify-content:flex-start;margin-left:0}}.account-toolbar-actions{flex:1}.account-search{min-width:210px;flex:1;max-width:360px;height:34px;box-sizing:border-box;display:flex;align-items:center;gap:7px;padding:0 10px;color:#8290a2;background:#fff;border:1px solid #d7e2ef;border-radius:8px}.account-issuance{display:flex;flex-direction:column;gap:14px}.account-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:8px}.account-kpi{min-height:54px;padding:6px 8px;display:flex;flex-direction:column;align-items:flex-start;gap:1px;background:#fff;border:1px solid #e2e9f1;border-radius:8px}.account-kpi--ok{background:#f3faf6;border-color:#d9ede1}.account-kpi--bad{background:#fff7f7;border-color:#f3dddd}.account-kpi--warn{background:#fffaf1;border-color:#f1e5c8}.account-kpi-icon{width:17px;height:17px;display:grid;place-items:center;color:#1689c4;background:#e7f4fb;border-radius:5px;font-size:9px}.account-kpi-label{color:#31445b;font-size:9px;font-weight:650}.account-kpi strong{color:#162a45;font-size:13px;line-height:1}.account-kpi--ok strong{color:#15803d}.account-kpi--bad strong{color:#b42323}.account-toolbar{gap:12px}.account-toolbar>div{display:flex;align-items:center;gap:8px}.account-toolbar-actions{width:100%;flex:1}.account-search{min-width:210px;flex:1;max-width:360px;height:34px;box-sizing:border-box;display:flex;align-items:center;gap:7px;margin-right:auto;padding:0 10px;color:#8290a2;background:#fff;border:1px solid #d7e2ef;border-radius:8px}.account-search>span{font-size:20px;line-height:1}.account-search input{width:100%;min-width:0;padding:0;color:#263b54;background:transparent;border:0;outline:0;font:inherit;font-size:12px}.account-search input::placeholder{color:#94a0af}.account-export-btn,.account-issue-btn{padding:8px 11px;color:#315f9b;background:#fff;border:1px solid #d7e2ef;border-radius:8px;cursor:pointer;font:inherit;font-size:12px}.account-issue-btn{padding:8px 11px;white-space:nowrap}.account-issue-selected{color:#fff;background:#315f9b;border-color:#315f9b}.account-issue-selected:hover:not(:disabled){background:#274f83;border-color:#274f83}.account-export-btn:hover,.account-issue-btn:hover:not(:disabled){background:#f3f7fc;border-color:#b8cbe1}.account-issue-btn:disabled,.account-toolbar button:disabled{opacity:.5;cursor:not-allowed}.account-code{padding:3px 7px;background:#eef3f8;border-radius:5px}.account-notice{padding:10px 14px;color:#176b43;background:#eaf7ef;border:1px solid #cdebd7;border-radius:8px;font-size:13px}.account-issuance .att-error{display:flex;justify-content:space-between;align-items:center}.account-issuance .att-error button{border:0;background:none;color:inherit;font-size:18px;cursor:pointer}.account-overlay{position:fixed;z-index:1200;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#15233877}.account-modal{box-sizing:border-box;width:min(840px,100%);max-height:min(92vh,900px);overflow:auto;padding:22px 26px;background:#fff;border-radius:13px;box-shadow:0 18px 55px #09182b33}.account-modal>header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid #e8edf3}.account-modal>header h2{margin:0;color:#1c2e48;font-size:19px}.account-modal>header p{margin:5px 0 0;color:#758399;font-size:12px}.account-modal>header button{border:0;background:transparent;color:#68788c;font-size:23px;cursor:pointer}.account-profile,.account-verify{padding:17px 0;border-bottom:1px solid #e8edf3}.account-profile h3,.account-verify h3{margin:0 0 13px;color:#315f9b;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.account-identity{display:flex;align-items:center;gap:14px;margin:2px 0 16px}.account-avatar{display:grid;place-items:center;width:74px;height:74px;flex:none;color:#315f9b;background:#eaf2fc;border:1px solid #d5e3f4;border-radius:12px;font-size:24px;font-weight:700}.account-identity>div:last-child{display:flex;flex-direction:column;gap:5px}.account-identity strong{color:#162a45;font-size:16px;text-transform:uppercase}.account-identity span{color:#536780;font-size:12px}.account-identity i{color:#a66b0b;font-size:11px;font-style:normal}.account-profile-grid{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid #e4eaf1;border-radius:9px}.account-profile-grid>div{min-height:54px;padding:9px 12px;border-bottom:1px solid #e9edf2}.account-profile-grid>div:nth-child(odd){border-right:1px solid #e9edf2}.account-profile-grid>div:nth-last-child(-n+2){border-bottom:0}.account-profile-grid small,.account-profile-grid strong{display:block}.account-profile-grid small{margin-bottom:5px;color:#78889b;font-size:10px;text-transform:uppercase}.account-profile-grid strong{color:#243b58;font-size:12px;font-weight:600}.account-verify>label:first-of-type{display:block;color:#435873;font-size:12px;font-weight:600}.account-verify>label:first-of-type input{box-sizing:border-box;width:100%;margin-top:7px;padding:11px 12px;border:1px solid #d7e0eb;border-radius:8px;font:inherit;font-size:14px;letter-spacing:.08em}.account-verify>small{display:block;margin-top:6px;color:#7c899b;font-size:11px}.account-confirm{display:flex;align-items:center;gap:8px;margin-top:14px;color:#344b65;font-size:12px;cursor:pointer}.account-confirm input{width:15px;height:15px;accent-color:#315f9b}.account-activation-note{margin:13px 0;padding:10px 12px;color:#546a83;background:#f5f8fc;border-radius:8px;font-size:11px;line-height:1.5}.account-modal>footer{display:flex;justify-content:flex-end;gap:9px;padding-top:8px}.account-modal>footer button{padding:9px 14px;color:#52647b;background:#fff;border:1px solid #d9e1eb;border-radius:8px;cursor:pointer;font:inherit;font-size:12px}.account-modal>footer .account-confirm-btn{color:#fff;background:#315f9b;border-color:#315f9b}.account-modal>footer .account-confirm-btn:disabled{opacity:.6;cursor:wait}@media(max-width:760px){.account-kpis{grid-template-columns:repeat(auto-fit,minmax(112px,1fr))}.account-toolbar{align-items:flex-start;flex-direction:column}.account-toolbar-actions{width:100%;flex-wrap:wrap}.account-search{max-width:none}.account-modal{padding:17px}}@media(max-width:480px){.account-profile-grid{grid-template-columns:1fr}.account-profile-grid>div:nth-child(odd){border-right:0}.account-profile-grid>div:nth-last-child(2){border-bottom:1px solid #e9edf2}}.home-shell{min-height:100vh;background:#f6f8fa;color:#102b40;font-family:Be Vietnam Pro,ui-sans-serif,system-ui,sans-serif}.app-header.app-header--minimal{padding-right:max(24px,calc((100vw - 1320px)/2));padding-left:max(24px,calc((100vw - 1320px)/2))}.home-main{width:min(1320px,100%);margin:0 auto;padding:34px 36px 24px}.home-hero{position:relative;display:flex;min-height:260px;align-items:center;justify-content:space-between;gap:32px;overflow:hidden;padding:34px 42px;border:1px solid #dceaf2;border-radius:20px;background:linear-gradient(115deg,#f4fbff,#e8f4fa)}.home-hero>div:first-child{position:relative;z-index:1;max-width:680px}.home-eyebrow{color:#0872a8;font-size:10px;font-weight:800;letter-spacing:.13em}.home-hero h1{max-width:650px;margin:13px 0 10px;font:750 clamp(30px,4vw,44px)/1.12 "Montserrat","Be Vietnam Pro",sans-serif;letter-spacing:-.04em}.home-hero p{max-width:570px;margin:0;color:#5e7280;font-size:14px;line-height:1.7}.home-cta{display:inline-flex;align-items:center;gap:12px;margin-top:22px;padding:12px 16px;border-radius:9px;background:#006da8;color:#fff;font-size:12px;font-weight:700;text-decoration:none}.home-cta:hover{background:#005b94}.home-cta span{font-size:16px}.home-hero-art{position:relative;display:grid;width:180px;height:180px;flex:0 0 180px;place-items:center;border:1px solid #d2e5ef;border-radius:50%;box-shadow:0 0 0 20px #ffffff4d,0 0 0 42px #fff3}.home-hero-art:before,.home-hero-art:after{position:absolute;top:18px;right:18px;bottom:18px;left:18px;border:1px solid #d8eaf3;border-radius:50%;content:""}.home-hero-art:after{top:38px;right:38px;bottom:38px;left:38px}.home-hero-art>span{z-index:1;display:grid;width:62px;height:62px;place-items:center;border-radius:18px;background:#0877ae;box-shadow:0 10px 24px #0877ae33;color:#fff;font:800 28px Montserrat,sans-serif}.home-hero-art i{position:absolute;z-index:1;width:9px;height:9px;border:2px solid #f4fbff;border-radius:50%;background:#e85e9c}.home-hero-art i:nth-of-type(1){top:20px;right:38px}.home-hero-art i:nth-of-type(2){bottom:26px;left:12px;background:#ffc445}.home-hero-art i:nth-of-type(3){right:6px;bottom:45px;background:#aecb32}.home-launcher{padding-top:34px}.home-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:15px}.home-heading h2{margin:5px 0 0;color:#152d40;font:700 22px Montserrat,Be Vietnam Pro,sans-serif;letter-spacing:-.02em}.home-heading p{margin:0 0 2px;color:#788895;font-size:11px}.home-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.home-card{position:relative;display:flex;min-height:164px;flex-direction:column;align-items:flex-start;padding:16px;border:1px solid #e3e9ee;border-radius:12px;background:#fff;color:inherit;text-decoration:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.home-card:hover{transform:translateY(-2px);border-color:#bfd7e5;box-shadow:0 10px 22px #18344910}.home-icon{display:grid;width:42px;height:42px;place-items:center;margin-bottom:13px;border-radius:12px;font-size:22px;font-weight:700}.home-icon--blue{background:#e4f2fa;color:#0873ad}.home-icon--pink{background:#fae8f1;color:#d95090}.home-icon--amber{background:#fff3d5;color:#c8910e}.home-icon--lime{background:#eff5d8;color:#839b1b}.home-icon--red{background:#fde9e8;color:#d24f4f}.home-card strong{padding-right:20px;color:#19364c;font-size:13px}.home-card>span:not(.home-icon):not(.home-arrow){margin-top:5px;color:#7c8994;font-size:10px;line-height:1.5}.home-arrow{position:absolute;top:16px;right:16px;color:#96a4ae;font-size:14px}.home-card:hover .home-arrow{color:#0877ae}.home-footer{display:flex;justify-content:space-between;gap:12px;margin-top:23px;padding-top:13px;border-top:1px solid #e3e9ee;color:#8b99a3;font-size:10px}.home-footer strong{color:#627888;font-family:Montserrat,sans-serif;letter-spacing:.12em}@media(max-width:960px){.home-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:680px){.app-header.app-header--minimal{padding-right:16px;padding-left:16px}.home-main{padding:22px 18px}.home-hero{min-height:auto;padding:28px 23px}.home-hero-art{display:none}.home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-heading{align-items:flex-start;flex-direction:column;gap:7px}}@media(max-width:440px){.home-main{padding:18px 14px}.home-hero{padding:25px 19px}.home-hero h1{font-size:31px}.home-grid{grid-template-columns:1fr}.home-card{min-height:148px}.home-footer{flex-direction:column}}@media(prefers-reduced-motion:reduce){.home-card,.home-cta{transition:none}}.unauth-page{display:flex;min-height:100vh;background:#f6f7f9;font-family:Be Vietnam Pro,ui-sans-serif,system-ui,sans-serif;color:#1c2530}.unauth-brand{position:relative;display:flex;flex-direction:column;justify-content:center;width:45%;padding:48px;overflow:hidden;background:radial-gradient(1200px 600px at 15% 20%,rgba(88,195,231,.18),transparent 60%),radial-gradient(800px 500px at 90% 85%,rgba(0,114,185,.25),transparent 60%),#0e1a26;color:#fff}.unauth-brand-logo{display:flex;align-items:center;gap:10px;margin-bottom:40px}.unauth-brand-logo img{width:44px;height:44px;object-fit:contain}.unauth-brand-logo span{font-size:14px;font-weight:700;letter-spacing:2px;opacity:.85}.unauth-brand h2{margin:0 0 12px;font-size:26px;font-weight:700;letter-spacing:-.01em}.unauth-brand p{margin:0;max-width:400px;font-size:15px;line-height:1.65;opacity:.72}.unauth-brand-badge{display:inline-flex;align-items:center;gap:8px;margin-top:28px;padding:7px 14px;border:1px solid rgba(88,195,231,.35);border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.04em;color:#9fdcf5;width:fit-content}.unauth-brand-badge .badge-dot{width:7px;height:7px;border-radius:50%;background:#58c3e7}.unauth-content{flex:1;display:flex;align-items:center;justify-content:center;padding:48px 24px}.unauth-card{width:100%;max-width:460px;background:#fff;border:1px solid #e6e9ee;border-radius:14px;box-shadow:0 10px 30px #10223314;padding:44px 40px}.unauth-code{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#fef3f2;border:1px solid #f5d5d0;color:#c0392b;font-size:24px;font-weight:800;margin-bottom:18px}.unauth-card h1{margin:0 0 10px;font-size:22px;font-weight:700;letter-spacing:-.01em;color:#14212e}.unauth-desc{margin:0 0 26px;font-size:14.5px;line-height:1.65;color:#5a6675}.unauth-actions{display:flex;flex-direction:column;gap:10px}.unauth-btn{display:flex;align-items:center;justify-content:center;padding:11px 16px;border-radius:9px;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s}.unauth-btn--ghost{background:#fff;border-color:#d7dde5;color:#445060}.unauth-btn--ghost:hover{background:#f5f7fa;border-color:#b9c2ce}.unauth-btn--primary{background:#005b94;color:#fff}.unauth-btn--primary:hover{background:#004c7d}.unauth-btn--danger{background:#fff;border-color:#f0c9c4;color:#c0392b}.unauth-btn--danger:hover{background:#fef3f2}@media(max-width:900px){.unauth-page{flex-direction:column}.unauth-brand{width:100%;padding:36px 24px}.unauth-brand p{max-width:none}.unauth-content{padding:24px 16px 48px}.unauth-card{padding:32px 24px}}.my-reports{display:flex;flex-direction:column;gap:16px}.my-reports-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;background:#fff;border:1px solid #e4eaf1;border-radius:12px}.my-reports-head h2{margin:0 0 5px;font-size:18px}.my-reports-head p{margin:0;color:#758399;font-size:13px}.my-report-primary{padding:9px 14px;color:#fff;background:#315f9b;border:1px solid #315f9b;border-radius:8px;cursor:pointer}.my-report-primary:disabled{opacity:.6;cursor:default}.my-report-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.my-report-stats>div{display:flex;flex-direction:column;gap:7px;padding:15px 17px;background:#fff;border:1px solid #e4eaf1;border-radius:11px}.my-report-stats small{color:#77869a;font-size:12px}.my-report-stats strong{color:#1c3558;font-size:22px}.my-report-list{overflow:hidden;background:#fff;border:1px solid #e4eaf1;border-radius:11px}.my-report-list h3{margin:0;padding:16px 18px;border-bottom:1px solid #edf1f5;font-size:15px}.my-report-row{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid #f0f2f6}.my-report-icon{display:grid;place-items:center;width:38px;height:38px;color:#315f9b;background:#eef4fb;border-radius:10px}.my-report-info{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}.my-report-info strong{overflow:hidden;color:#203652;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.my-report-info span,.my-report-info small{color:#738299;font-size:11px}.my-report-comment{display:block;margin:8px 0;padding:9px;color:#99373e;background:#fff2f2;border-radius:7px;font-size:12px}.my-report-status{flex:none;padding:5px 9px;border-radius:20px;font-size:11px;font-style:normal;font-weight:700}.my-report-status.pending{color:#966108;background:#fff4da}.my-report-status.approved{color:#157443;background:#e9f7ee}.my-report-status.sent{color:#2876a6;background:#eaf5fb}.my-report-status.rejected{color:#b3323f;background:#ffeded}.my-report-row-actions{display:flex;gap:6px}.my-report-row-actions button,.my-report-version button,.my-report-close{padding:6px 9px;color:#315f9b;background:#fff;border:1px solid #dce5f0;border-radius:7px;cursor:pointer;font-size:11px}.my-report-empty{padding:26px;color:#78869a;text-align:center;font-size:13px}.my-report-error{display:flex;justify-content:space-between;padding:10px 12px;color:#a52f39;background:#fff1f1;border:1px solid #ffd3d3;border-radius:8px;font-size:13px}.my-report-error button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:18px}.my-report-overlay{position:fixed;z-index:1100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:16px;background:#172b4d66}.my-report-modal{box-sizing:border-box;width:min(520px,100%);max-height:90vh;overflow:auto;padding:22px;background:#fff;border-radius:13px;box-shadow:0 16px 50px #11213b30}.my-report-modal>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.my-report-modal>header h3{margin:0;font-size:17px}.my-report-modal>header button{border:0;background:transparent;color:#738299;font-size:23px;cursor:pointer}.my-report-modal label{display:flex;flex-direction:column;gap:6px;margin-bottom:13px;color:#52657d;font-size:12px}.my-report-modal label input,.my-report-modal label textarea{box-sizing:border-box;width:100%;padding:10px;border:1px solid #dce4ed;border-radius:8px;font:inherit;font-size:13px}.my-report-modal label textarea{min-height:65px;resize:vertical}.my-report-modal label small{color:#8a96a7}.my-report-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}.my-report-modal footer{display:flex;justify-content:flex-end;gap:8px;padding-top:8px}.my-report-modal footer button:not(.my-report-primary){padding:9px 13px;color:#53647a;background:#fff;border:1px solid #dce4ed;border-radius:8px;cursor:pointer}.my-report-modal h4{margin:14px 0 7px;font-size:14px}.my-report-modal p{color:#7b899b;font-size:12px}.my-report-version{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #eef1f5;font-size:12px}.my-report-version small{display:block;margin-top:4px;color:#8390a2}.my-report-content{margin:9px 0;padding:10px;color:#596b80;background:#f8fafd;border-radius:7px;font-size:12px}.my-report-content p{margin:5px 0 0;white-space:pre-wrap}.my-report-close{display:block;margin:18px 0 0 auto;padding:8px 14px}@media(max-width:700px){.my-report-stats{grid-template-columns:repeat(2,1fr)}.my-report-row{flex-wrap:wrap}.my-report-row-actions{margin-left:auto}}.promotion-page{display:grid;gap:18px;color:#182b43}.promotion-heading{position:relative;display:flex;justify-content:space-between;align-items:center;gap:20px;overflow:hidden;padding:24px 26px;border:1px solid #e2eaf2;border-radius:16px;background:linear-gradient(115deg,#fff,#fff 62%,#f1f7fc);box-shadow:0 5px 18px #243b5308}.promotion-heading:after{position:absolute;right:100px;bottom:-94px;width:230px;height:190px;border:1px solid #d9e7f3;border-radius:50%;content:"";pointer-events:none}.promotion-heading>div,.promotion-heading>button{position:relative;z-index:1}.promotion-heading h1{margin:7px 0 5px;color:#183451;font-size:clamp(22px,3vw,28px);font-weight:700;letter-spacing:-.035em}.promotion-heading p,.promotion-dialog>p{margin:0;color:#718198;font-size:13px;line-height:1.6}.promotion-eyebrow{color:#3973a5;font-size:10px;font-weight:700;letter-spacing:.14em}.promotion-primary,.promotion-secondary,.promotion-refresh,.promotion-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:9px 14px;border:1px solid #dce5ee;border-radius:9px;background:#fff;color:#334a64;font:inherit;font-size:12px;font-weight:650;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s}.promotion-primary{border-color:#285e91;background:#285e91;color:#fff;box-shadow:0 3px 8px #285e9122}.promotion-primary:hover{border-color:#1f4f7c;background:#1f4f7c;box-shadow:0 5px 12px #285e9128;transform:translateY(-1px)}.promotion-secondary:hover,.promotion-refresh:hover,.promotion-actions button:hover{border-color:#b9cbdc;background:#f7fafc}.promotion-primary:disabled,.promotion-secondary:disabled,.promotion-dialog button:disabled{opacity:.55;cursor:not-allowed;transform:none}.promotion-tabs{display:flex;align-items:center;gap:9px;margin-top:-7px;color:#94a1b1;font-size:12px}.promotion-tabs a{color:#657a92;text-decoration:none}.promotion-tabs a:hover{color:#285e91}.promotion-tabs strong{color:#304761;font-weight:650}.promotion-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.promotion-stat{position:relative;display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:11px;min-height:83px;padding:15px 17px;border:1px solid #e5eaf0;border-radius:13px;background:#fff;box-shadow:0 3px 12px #243b5306}.promotion-stat-icon{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#edf4fa;color:#3a729f;font-size:15px;font-weight:700}.promotion-stat>span:nth-child(2){align-self:end;color:#718198;font-size:11px;font-weight:550}.promotion-stat>b{align-self:start;margin-top:2px;color:#203a57;font-size:23px;line-height:1.15;font-weight:700}.promotion-stat.stat-1{border-color:#f0e5c9}.promotion-stat.stat-1 .promotion-stat-icon{background:#fff6df;color:#b18023}.promotion-stat.stat-2{border-color:#d8eadf}.promotion-stat.stat-2 .promotion-stat-icon{background:#ebf7ef;color:#328257}.promotion-stat.stat-3{border-color:#f0dddd}.promotion-stat.stat-3 .promotion-stat-icon{background:#fff0f0;color:#bf5555}.promotion-alert{padding:11px 14px;border:1px solid;border-radius:10px;font-size:12px;line-height:1.55}.promotion-alert.error{border-color:#f0cccc;background:#fff6f5;color:#9b4444}.promotion-alert.success{border-color:#cce6d5;background:#f2fbf5;color:#2e754b}.promotion-toolbar{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #e5eaf0;border-radius:12px;background:#fff;box-shadow:0 3px 12px #243b5306}.promotion-search{display:flex;align-items:center;gap:9px;flex:1;min-width:170px;padding:0 12px;border:1px solid #e0e7ef;border-radius:9px;color:#8494a7;transition:border-color .15s,box-shadow .15s}.promotion-search:focus-within{border-color:#8eafcc;box-shadow:0 0 0 3px #eaf2f9}.promotion-search>span{font-size:20px;line-height:1}.promotion-search input{width:100%;min-width:0;padding:10px 0;border:0;outline:0;background:transparent;color:#203650;font:inherit;font-size:12px}.promotion-search input::placeholder{color:#9ba8b7}.promotion-toolbar select,.promotion-dialog select,.promotion-dialog input,.promotion-dialog textarea{min-height:39px;padding:9px 11px;border:1px solid #dce5ee;border-radius:8px;outline:0;background:#fff;color:#263d58;font:inherit;font-size:12px}.promotion-toolbar select:focus,.promotion-dialog select:focus,.promotion-dialog input:focus,.promotion-dialog textarea:focus{border-color:#89a9c5;box-shadow:0 0 0 3px #edf4fa}.promotion-toolbar select{min-width:155px}.promotion-refresh{color:#586d85}.promotion-list{display:grid;gap:11px}.promotion-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:15px;align-items:start;padding:17px 18px;border:1px solid #e4eaf0;border-radius:13px;background:#fff;box-shadow:0 3px 12px #243b5306;transition:border-color .15s,box-shadow .15s}.promotion-card:hover{border-color:#d3dfeb;box-shadow:0 6px 18px #243b530c}.promotion-avatar{display:grid;place-items:center;width:42px;height:42px;border:1px solid #dceaf5;border-radius:13px;background:#edf5fb;color:#3479a9;font-size:15px;font-weight:700}.promotion-title{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.promotion-title h3{margin:1px 0 5px;color:#203751;font-size:14px;font-weight:700}.promotion-title span:not(.promotion-badge){color:#7d8ca0;font-size:11px}.promotion-badge{display:inline-flex;align-items:center;gap:5px;align-self:start;padding:5px 9px;border:1px solid #f0e4c6;border-radius:99px;background:#fff8e8;color:#977126;font-size:10px;font-weight:650;white-space:nowrap}.promotion-badge:before{width:6px;height:6px;border-radius:50%;background:currentColor;content:""}.badge-1{border-color:#d3e9da;background:#eff9f2;color:#367d52}.badge-2{border-color:#f0d6d6;background:#fff3f3;color:#b34d4d}.promotion-move{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:12px 0 9px;color:#718198;font-size:12px}.promotion-move>b{color:#a1afbd}.promotion-move>strong{color:#285e91;font-weight:700}.promotion-move small{margin-left:auto;color:#8594a6;font-size:10px}.promotion-reason{margin:0;color:#465d76;font-size:12px;line-height:1.65;white-space:pre-wrap}.promotion-meta{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:11px;padding-top:10px;border-top:1px solid #f0f3f6;color:#8593a5;font-size:10px}.promotion-meta b{color:#49627d;font-weight:650}.promotion-actions{display:flex;align-items:center;gap:6px}.promotion-actions button{min-height:33px;padding:7px 10px;font-size:11px}.promotion-actions button:nth-child(2){border-color:#d7e6f2;background:#f4f9fd;color:#2d6594}.promotion-actions .promotion-link{border-color:#f0dddd;color:#aa4b4b}.promotion-actions .promotion-link:hover{background:#fff5f5}.promotion-empty{display:grid;justify-items:center;gap:8px;padding:54px 18px;border:1px dashed #d7e0e9;border-radius:13px;background:#fff;color:#7b8da3;text-align:center}.promotion-empty>span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#eef5fa;color:#3a7ba8;font-size:23px}.promotion-empty>b{color:#344b65;font-size:14px}.promotion-empty>small{color:#8594a7;font-size:11px}.promotion-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;overflow:auto;padding:22px;background:#15283d70;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.promotion-dialog{position:relative;width:min(620px,100%);max-height:min(90vh,900px);overflow:auto;padding:27px;border:1px solid #e6ebf0;border-radius:16px;background:#fff;box-shadow:0 24px 70px #12243b38;animation:promotion-enter .16s ease-out}@keyframes promotion-enter{0%{opacity:0;transform:translateY(7px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.promotion-dialog h2{margin:6px 0;color:#203751;font-size:21px;letter-spacing:-.02em}.promotion-dialog>label{margin-top:16px}.promotion-dialog label{display:grid;gap:7px;color:#52677f;font-size:11px;font-weight:650}.promotion-close{position:absolute;top:16px;right:17px;display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:#77879a;font-size:22px;cursor:pointer}.promotion-close:hover{background:#f2f5f8}.promotion-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.promotion-full{grid-column:1/-1}.promotion-dialog textarea{resize:vertical;min-height:82px;line-height:1.55}.promotion-dialog textarea::placeholder{color:#9aa7b5;font-weight:400}.promotion-info{margin-top:14px;padding:12px 14px;border:1px solid #e0ebf4;border-radius:10px;background:#f6f9fc;color:#5a718a;font-size:11px;line-height:1.65}.promotion-dialog footer{display:flex;justify-content:flex-end;gap:8px;margin-top:19px;padding-top:15px;border-top:1px solid #edf0f3}.promotion-review{width:min(520px,100%)}.promotion-review>label{margin-top:16px}.promotion-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:16px 0}.promotion-detail-grid>div{display:grid;gap:5px;min-width:0;padding:11px 12px;border:1px solid #e8edf2;border-radius:9px;background:#fbfcfd}.promotion-detail-grid span{color:#8291a4;font-size:10px}.promotion-detail-grid b{overflow-wrap:anywhere;color:#344b65;font-size:11px;font-weight:650}.promotion-detail .promotion-info{line-height:1.85}@media(max-width:900px){.promotion-card{grid-template-columns:40px minmax(0,1fr)}.promotion-actions{grid-column:2;flex-wrap:wrap}.promotion-move small{width:100%;margin-left:0}}@media(max-width:680px){.promotion-page{gap:13px}.promotion-heading{align-items:flex-start;flex-direction:column;padding:20px}.promotion-heading>button{width:100%}.promotion-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.promotion-stat{min-height:75px;padding:12px}.promotion-stat>b{font-size:21px}.promotion-toolbar{flex-wrap:wrap}.promotion-search{flex-basis:100%}.promotion-toolbar select{flex:1;min-width:0}.promotion-refresh{flex:0 0 auto}.promotion-card{gap:11px;padding:14px}.promotion-title{align-items:flex-start}.promotion-move{gap:7px;font-size:11px}.promotion-meta{gap:7px 10px}.promotion-dialog{padding:23px 18px}.promotion-detail-grid{grid-template-columns:1fr 1fr}}@media(max-width:420px){.promotion-stats{grid-template-columns:1fr 1fr}.promotion-card{grid-template-columns:34px minmax(0,1fr);gap:9px;padding:12px}.promotion-avatar{width:33px;height:33px;border-radius:10px;font-size:12px}.promotion-actions{grid-column:1/-1}.promotion-actions button{flex:1}.promotion-form-grid,.promotion-detail-grid{grid-template-columns:1fr}.promotion-full{grid-column:auto}.promotion-dialog footer{flex-wrap:wrap}.promotion-dialog footer button{flex:1}}.hv-page{max-width:1080px;margin:0 auto;padding:8px 4px 48px;color:#102a43;font-family:Be Vietnam Pro,ui-sans-serif,system-ui,sans-serif}.hv-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid #e8edf2}.hv-eyebrow{font-size:11px;font-weight:800;letter-spacing:.08em;color:#005b94}.hv-header h1{margin:6px 0;font-family:Montserrat,Be Vietnam Pro,sans-serif;font-size:26px;font-weight:800;color:#0e1a26}.hv-header p{margin:0;max-width:560px;font-size:14px;line-height:1.55;color:#5a6b7b}.hv-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.hv-user-chip,.hv-pending-chip{border-radius:999px;padding:7px 14px;font-size:13px;font-weight:650}.hv-user-chip{background:#eef4fb;color:#005b94}.hv-pending-chip{background:#fff4e6;color:#a5621a}.hv-pending-chip b{font-family:Montserrat,sans-serif;font-weight:800}.hv-alert{padding:12px 16px;margin-bottom:16px;border-radius:10px;font-size:14px}.hv-alert--ok{background:#ecfdf5;border:1px solid #bbf7d0;color:#15803d}.hv-alert--error{background:#fef2f2;border:1px solid #fecaca;color:#b42323}.hv-panel{background:#fff;border:1px solid #e8edf2;border-radius:16px;padding:26px 28px;margin-bottom:20px;box-shadow:0 6px 20px #0e1a260d}.hv-panel--waiting{padding:22px 28px}.hv-waiting{display:flex;align-items:center;gap:14px}.hv-waiting-ico{font-size:26px;line-height:1}.hv-waiting strong{display:block;font-size:15px;color:#102a43}.hv-waiting p{margin:4px 0 0;font-size:13px;color:#5a6b7b;max-width:520px}.hv-btn{border:1px solid #cbd5e1;border-radius:9px;padding:9px 16px;background:#fff;color:#243b53;font-size:14px;font-weight:650;font-family:inherit;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.hv-btn--ghost:hover{border-color:#005b94;color:#005b94}.hv-btn--primary{border-color:#005b94;background:#005b94;color:#fff}.hv-btn--primary:hover:not(:disabled){background:#0e1a26;border-color:#0e1a26}.hv-btn--danger{border-color:#f2b8b5;background:#fff;color:#a52822}.hv-btn--danger:hover:not(:disabled){background:#a52822;color:#fff}.hv-btn:disabled{opacity:.5;cursor:not-allowed}.hv-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 26px;padding:0}.hv-steps li{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e8edf2;border-radius:12px;background:#f9fafc;opacity:.6}.hv-steps li.active{opacity:1;background:#eef4fb;border-color:#bcd6ef}.hv-steps li.done{opacity:1;background:#f0faf4;border-color:#d6efe0}.hv-step-dot{flex:0 0 auto;width:30px;height:30px;border-radius:50%;border:0;background:#cbd5e1;color:#fff;font-weight:800;font-size:13px;cursor:default;display:grid;place-items:center}.hv-steps li.active .hv-step-dot{background:#005b94}.hv-steps li.done .hv-step-dot{background:#15803d}.hv-steps li.active .hv-step-dot,.hv-steps li.done .hv-step-dot{cursor:pointer}.hv-step-label{display:block;font-size:14px;font-weight:700;color:#0e1a26}.hv-steps li small{display:block;font-size:12px;color:#5a6b7b;font-weight:400}.hv-step-body{display:flex;flex-direction:column;gap:20px}.hv-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hv-grid-4{display:grid;grid-template-columns:1fr 1.4fr 1fr .8fr;gap:14px}.hv-field{display:flex;flex-direction:column;gap:6px;color:#38506a;font-size:13px;font-weight:650}.hv-field>span em{color:#b42323;font-style:normal}.hv-field>small{font-weight:400;color:#9aa9b8;text-align:right}.hv-field input,.hv-field textarea,.hv-table--edit input,.hv-table--edit select{width:100%;border:1px solid #cbd5e1;border-radius:9px;padding:10px 12px;font-size:14px;font-family:inherit;color:#102a43;background:#fff;transition:border-color .15s,box-shadow .15s}.hv-field textarea,.hv-table--edit textarea{resize:vertical}.hv-field input:focus,.hv-field textarea:focus,.hv-table--edit input:focus,.hv-table--edit select:focus{outline:none;border-color:#005b94;box-shadow:0 0 0 3px #005b9424}.hv-field input[disabled]{background:#f6f7f9;color:#5a6b7b;cursor:not-allowed}.hv-field.invalid input,.hv-field.invalid textarea{border-color:#b42323}.hv-field.invalid>span{color:#b42323}.hv-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:4px}.hv-section-head h3{margin:0;font-family:Montserrat,sans-serif;font-size:16px;font-weight:800;color:#0e1a26}.hv-section-head p{margin:4px 0 0;font-size:13px;color:#5a6b7b}.hv-muted{color:#5a6b7b;font-size:13px}.hv-hint{font-size:12.5px;color:#5a6b7b;background:#f6f9fc;border:1px solid #eef2f6;border-radius:9px;padding:10px 14px;margin:4px 0 0}.hv-table-wrap{width:100%;overflow-x:auto;border:1px solid #e8edf2;border-radius:12px}.hv-table{width:100%;min-width:720px;border-collapse:collapse;font-size:13px;background:#fff}.hv-table th,.hv-table td{text-align:left;padding:11px 12px;border-bottom:1px solid #f1f5f9}.hv-table th{font-size:11.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#5a6b7b;background:#f9fafc;position:sticky;top:0}.hv-table tbody tr:last-child td{border-bottom:none}.hv-table tbody tr:hover td{background:#fbfcfe}.hv-td-num{width:44px;color:#9aa9b8;font-family:Montserrat,sans-serif;font-weight:700}.hv-table--edit{min-width:860px}.hv-table--edit th:first-child,.hv-table--edit td:first-child{position:sticky;left:0;background:#f9fafc;z-index:1}.hv-table--edit td:first-child{background:#fff}.hv-table--edit input,.hv-table--edit select{height:36px;min-width:120px}.hv-table--edit select{cursor:pointer}.hv-row-invalid td{background:#fef2f2!important}.hv-empty-cell{text-align:center;color:#9aa9b8;padding:18px!important}.hv-cond{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:650}.hv-cond--ok{background:#dcfce7;color:#15803d}.hv-cond--bad{background:#fee2e2;color:#b42323}.hv-cond:not(.hv-cond--ok):not(.hv-cond--bad){background:#eef2f6;color:#5a6b7b}.hv-btn-remove{width:30px;height:30px;border:0;border-radius:7px;background:#fef2f2;color:#b42323;font-size:17px;line-height:1;cursor:pointer}.hv-btn-remove:hover{background:#b42323;color:#fff}.hv-btn-remove--lg{width:34px;height:34px}.hv-progress{display:flex;align-items:center;gap:8px;min-width:150px}.hv-progress-track{flex:1;height:7px;border-radius:999px;background:#eef2f6;overflow:hidden}.hv-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#005b94,#0083c4)}.hv-progress span{font-family:Montserrat,sans-serif;font-size:12px;font-weight:800;color:#005b94;min-width:34px;text-align:right}.hv-progress-input{display:flex;align-items:center;gap:6px}.hv-progress-input input{width:64px!important;min-width:64px;text-align:center}.hv-progress-input span{color:#5a6b7b;font-size:13px}.hv-project-card{border:1px solid #e8edf2;border-radius:12px;padding:16px;background:#fcfdfe}.hv-project-head{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;margin-bottom:14px}.hv-project-index{width:34px;height:34px;border-radius:9px;background:#eef4fb;color:#005b94;font-family:Montserrat,sans-serif;font-weight:800;font-size:15px;display:grid;place-items:center}.hv-project-files{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hv-file-block{display:flex;flex-direction:column;gap:8px}.hv-file-block strong{font-size:13px;color:#243b53}.hv-upload{position:relative;display:inline-flex;align-items:center;gap:4px;border:1px dashed #cbd5e1;border-radius:8px;padding:8px 12px;color:#005b94;font-size:12.5px;font-weight:650;cursor:pointer;transition:border-color .15s,background .15s}.hv-upload:hover{border-color:#005b94;background:#f4f9fd}.hv-upload input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;cursor:pointer}.hv-pending-files{display:flex;flex-wrap:wrap;gap:6px}.hv-pending-files button{display:inline-flex;align-items:center;gap:6px;max-width:240px;overflow:hidden;border:1px solid #e8edf2;border-radius:7px;padding:5px 9px;background:#fff;color:#243b53;font-size:12px;cursor:pointer}.hv-pending-files button span:last-child{color:#b42323;font-weight:700}.hv-form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid #eef2f6}.hv-list-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.hv-list-head h2{margin:0;font-family:Montserrat,sans-serif;font-size:17px;font-weight:800;color:#0e1a26}.hv-list{display:grid;gap:14px}.hv-empty{text-align:center;padding:34px 12px;color:#5a6b7b;font-size:14px}.hv-empty p{margin:8px 0 0}.hv-empty-ico{font-size:30px}.hv-card{border:1px solid #e8edf2;border-radius:14px;padding:18px 20px;background:#fff;transition:border-color .15s,box-shadow .15s}.hv-card:hover{border-color:#bcd6ef;box-shadow:0 6px 18px #005b9414}.hv-card-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.hv-card-id{display:flex;align-items:center;gap:12px}.hv-avatar{width:42px;height:42px;border-radius:10px;background:#eef4fb;color:#005b94;font-family:Montserrat,sans-serif;font-weight:800;font-size:15px;display:grid;place-items:center}.hv-card-id h3{margin:0;font-size:15px;font-weight:750;color:#0e1a26}.hv-card-id p{margin:3px 0 0;font-size:12.5px}.hv-card-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0;padding:14px 0;border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9}.hv-card-facts div{display:flex;flex-direction:column;gap:3px}.hv-card-facts small{color:#9aa9b8;font-size:11px;font-weight:600;letter-spacing:.03em}.hv-card-facts b{font-size:14px;color:#102a43}.hv-badge{padding:5px 12px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.hv-badge--0{background:#fff4e6;color:#a5621a}.hv-badge--1{background:#e9f8ef;color:#15803d}.hv-badge--2{background:#fef2f2;color:#b42323}.hv-reason{margin:0 0 12px;font-size:13.5px;line-height:1.55;color:#38506a}.hv-reason strong,.hv-review-note strong{color:#102a43}.hv-review-note{margin:0 0 12px;padding:10px 14px;border-radius:9px;background:#f0faf4;border:1px solid #d6efe0;color:#17683a;font-size:13px}.hv-review-note.rejected{background:#fef2f2;border-color:#fde2e2;color:#b42323}.hv-card-detail{display:grid;gap:14px;margin:14px 0}.hv-card-detail h4{margin:0 0 8px;font-size:14px;font-weight:750;color:#102a43}.hv-card-detail h4:not(:first-child){margin-top:14px}.hv-file-list{display:grid;gap:5px;min-width:150px}.hv-file{display:flex;align-items:center;gap:6px;max-width:240px;border:1px solid #e8edf2;border-radius:7px;padding:5px 8px;background:#fcfdfe;cursor:pointer;text-align:left}.hv-file:hover{border-color:#005b94;background:#f4f9fd}.hv-file-ico{font-size:13px}.hv-file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:#005b94}.hv-file-size{font-size:11px;color:#9aa9b8;white-space:nowrap}.hv-card-actions{display:flex;justify-content:space-between;gap:12px;margin-top:14px}.hv-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#102a4373}.hv-dialog{position:relative;width:min(960px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;padding:26px 28px;box-shadow:0 24px 70px #0e1a2659}.hv-dialog h2{margin:6px 0 4px;font-family:Montserrat,sans-serif;font-size:22px;font-weight:800;color:#0e1a26}.hv-dialog>.hv-muted{margin:0 0 14px}.hv-close{position:absolute;top:16px;right:18px;border:0;background:transparent;color:#9aa9b8;font-size:24px;line-height:1;cursor:pointer}.hv-close:hover{color:#0e1a26}.hv-dialog-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:14px;margin-bottom:14px;background:#f9fafc;border-radius:12px}.hv-dialog-facts div{display:flex;flex-direction:column;gap:3px}.hv-dialog-facts small{color:#9aa9b8;font-size:11px;font-weight:600}.hv-dialog-facts b{font-size:14px;color:#102a43}.hv-dialog-detail{display:grid;gap:14px;margin-bottom:16px}.hv-dialog-detail h4{margin:0 0 8px;font-size:14px;font-weight:750;color:#102a43}.hv-dialog-detail h4:not(:first-child){margin-top:14px}.hv-dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid #eef2f6}@media(max-width:860px){.hv-page{padding:4px 0 40px}.hv-panel,.hv-dialog{padding:20px 18px}.hv-steps{grid-template-columns:1fr;gap:10px}.hv-grid-2,.hv-grid-4,.hv-project-files,.hv-dialog-facts,.hv-card-facts{grid-template-columns:1fr 1fr}.hv-project-head{grid-template-columns:1fr}.hv-header{flex-direction:column;align-items:flex-start}.hv-header-right{flex-direction:row;align-items:center}}@media(max-width:520px){.hv-grid-2,.hv-grid-4,.hv-project-files,.hv-dialog-facts,.hv-card-facts{grid-template-columns:1fr}}
