@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_f367f3;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_f367f3{font-family:__Inter_f367f3,__Inter_Fallback_f367f3;font-style:normal}.__variable_f367f3{--font-inter:"__Inter_f367f3","__Inter_Fallback_f367f3"}@font-face{font-family:__Outfit_ed3508;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/98848575513c9742-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Outfit_ed3508;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7b0b24f36b1a6d0b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Outfit_Fallback_ed3508;src:local("Arial");ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.00%;size-adjust:99.82%}.__className_ed3508{font-family:__Outfit_ed3508,__Outfit_Fallback_ed3508;font-style:normal}.__variable_ed3508{--font-outfit:"__Outfit_ed3508","__Outfit_Fallback_ed3508"}:root{--border-color:#f1f5f9;--radius-lg:16px;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 20px -2px rgba(15,23,42,.06),0 2px 10px -1px rgba(15,23,42,.04);--shadow-lg:0 20px 25px -5px rgba(15,23,42,.08),0 10px 10px -5px rgba(15,23,42,.03);--z-fixed:40;--z-sidebar:50;--z-header:45;--z-mobile-nav:30;--sidebar-collapsed-width:68px;--mobile-app-header-height:calc(48px + env(safe-area-inset-top));--mobile-bottom-nav-height:60px;--mobile-bottom-nav-total:calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom))}.category-card{border:2px dashed #e2e8f0;border-radius:var(--radius-md);padding:14px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);text-align:center;background:#fff;-webkit-user-select:none;-moz-user-select:none;user-select:none}.category-card:hover{border-color:var(--color-primary);background:#f8fafc;transform:translateY(-2px);box-shadow:var(--shadow-sm)}.category-card.active{border-color:var(--color-primary);background:#eff6ff;border-style:solid;color:var(--color-primary-hover);box-shadow:0 0 0 1px var(--color-primary)}.cctv-stepper{display:flex;align-items:center;justify-content:space-between;width:100%;margin:16px 0;position:relative}.cctv-stepper-line{position:absolute;top:15px;left:0;right:0;height:2px;background-color:#e2e8f0;z-index:1}.cctv-stepper-line-active{position:absolute;top:15px;left:0;height:2px;background-color:var(--color-success);z-index:2;transition:width .3s ease}.cctv-step{position:relative;z-index:3;flex-direction:column;flex:1 1}.cctv-step,.cctv-step-circle{display:flex;align-items:center}.cctv-step-circle{width:32px;height:32px;border-radius:50%;background-color:#fff;border:2px solid #cbd5e1;justify-content:center;font-weight:700;font-size:12px;color:#64748b;transition:all .3s ease}.cctv-step.active .cctv-step-circle{border-color:var(--color-primary);background-color:#eff6ff;color:var(--color-primary-hover);box-shadow:0 0 0 3px rgba(59,130,246,.15)}.cctv-step.complete .cctv-step-circle{border-color:var(--color-success);background-color:var(--color-success-bg);color:var(--color-success)}.cctv-step-label{margin-top:8px;font-size:11px;font-weight:600;color:#64748b;text-align:center}.cctv-step.active .cctv-step-label{color:#1e3a8a}.cctv-step.complete .cctv-step-label{color:var(--color-success)}body{background-color:#f8fafc;font-size:14px;line-height:1.5}.mobile-menu-button{display:none!important}@media (max-width:767px){.mobile-menu-button{display:flex!important}input,select,textarea{font-size:16px!important}.filter-bar>*{min-width:100%!important}.card-body{padding:12px!important}}.loading-spinner{width:32px;height:32px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:spin .7s linear infinite;margin:0 auto}input,select,textarea{max-width:100%}a,button,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #93c5fd}input:focus,select:focus,textarea:focus{border-color:#2563eb!important;box-shadow:0 0 0 3px rgba(37,99,235,.12)}button:hover:not(:disabled){filter:brightness(.98)}button:active:not(:disabled){transform:translateY(1px)}.skip-link{z-index:9999;background:#0f172a;color:#fff;border-radius:8px;padding:10px 12px;font-weight:800}.mobile-bottom-nav{padding-bottom:max(8px,env(safe-area-inset-bottom))}@supports (height:100dvh){.min-h-screen{min-height:100dvh}}table{table-layout:auto}th{-webkit-user-select:none;-moz-user-select:none;user-select:none}tbody tr{transition:background-color .12s}tbody tr:hover{background-color:#f8fafc}::-webkit-scrollbar-thumb{background:#cbd5e1;border:2px solid #f8fafc}::-webkit-scrollbar-track{background:#f8fafc}.public-site-header{position:-webkit-sticky;position:sticky;top:0;z-index:30;background:rgba(246,248,251,.88);border-bottom:1px solid rgba(226,232,240,.9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.public-site-header-inner{max-width:980px;margin:0 auto;min-height:72px;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px}.public-site-brand{display:flex;align-items:center;gap:10px;min-width:0}.app-header-logo,.public-site-logo{width:40px;height:40px;border-radius:8px;background:#2563eb;color:#fff;display:grid;place-items:center;font-weight:800;letter-spacing:0;box-shadow:0 10px 24px rgba(37,99,235,.18);flex:0 0 auto}.public-site-title{font-size:15px;font-weight:800;color:#0f172a}.public-site-subtitle,.public-site-title{line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-site-subtitle{font-size:12px;color:#64748b;margin-top:2px}.public-site-login{min-height:42px;padding:9px 16px;border-radius:8px;border:1px solid #d1d5db;background:#fff;color:#0f172a;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 8px 22px rgba(15,23,42,.06)}.public-site-login.active{border-color:#0f172a;background:#0f172a;color:#fff}.app-header{min-height:64px;background:hsla(0,0%,100%,.92);border-bottom:1px solid rgba(226,232,240,.92);padding:calc(8px + env(safe-area-inset-top)) 12px 8px;gap:12px;position:-webkit-sticky;position:sticky;top:0;z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 8px 24px rgba(15,23,42,.04)}.app-header,.app-header-brand{display:flex;align-items:center}.app-header-brand{gap:10px;min-width:0;flex:1 1}.app-header-logo{width:36px;height:36px;font-size:14px}.app-header-title-wrap{min-width:0;display:grid;grid-gap:1px;gap:1px}.app-header-title-wrap h1{margin:0;font-size:17px;font-weight:800;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.app-header-title-wrap span,.app-header-user-text span{font-size:12px;color:#64748b;line-height:1.2}.app-header-actions{display:flex;align-items:center;gap:8px;min-width:0}.app-header-icon-button{width:44px;height:44px;border-radius:10px;border:1px solid transparent;background:transparent;color:#475569;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.app-header-icon-button:hover{background:#f1f5f9;border-color:#e2e8f0;color:#2563eb;text-decoration:none}.app-header-icon-button:active{background:#e2e8f0;transform:scale(.95)}.app-header-user{display:flex;align-items:center;gap:8px;min-width:0}.app-header-avatar{width:34px;height:34px;border-radius:8px;background:#eff6ff;color:#2563eb;display:grid;place-items:center;font-size:14px;font-weight:800;border:1px solid #dbeafe}.app-header-user-text{display:grid;min-width:0}.app-header-user-text strong{color:#0f172a;font-size:13px;line-height:1.2;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rf-shell{background:#fff;border:1px solid #e8ecf2;border-radius:18px;padding:30px;box-shadow:0 24px 70px rgba(15,23,42,.08),0 4px 16px rgba(15,23,42,.04);position:relative;max-width:1080px;margin:0 auto}.rf-header{display:flex;align-items:center;gap:18px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid #eef2f7}.rf-eyebrow{margin:0 0 3px;font-size:11px;font-weight:800;letter-spacing:.06em;color:#3b82f6;text-transform:uppercase}.rf-header h1{margin:0;font-size:26px;font-weight:800;color:#0f172a;line-height:1.15}.rf-subtitle{margin:6px 0 0;color:#64748b;font-size:14px}.rf-alert{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:12px;margin-bottom:18px;font-size:14px;line-height:1.5;border:1px solid transparent}.rf-alert span:first-child{font-size:18px;flex-shrink:0}.rf-alert p{margin:0;flex:1 1}.rf-alert-close{background:none;border:none;font-size:20px;cursor:pointer;color:#64748b;line-height:1;padding:0 2px}.rf-alert-error{color:#991b1b;background:#fee2e2;border-color:#fecaca}.rf-loading-overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:1000;animation:rfFadeIn .2s ease}@keyframes rfFadeIn{0%{opacity:0}to{opacity:1}}.rf-loading-card{background:#fff;border-radius:16px;padding:32px 36px;display:grid;grid-gap:10px;gap:10px;justify-items:center;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.18);min-width:220px}.rf-loading-card strong{font-size:15px;color:#0f172a}.rf-loading-card span{font-size:13px;color:#64748b}.rf-loading-spinner{width:36px;height:36px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:rfSpin .7s linear infinite}@keyframes rfSpin{to{transform:rotate(1turn)}}.rf-toast-overlay{position:fixed;inset:0;background:rgba(15,23,42,.35);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:1000;animation:rfFadeIn .25s ease}.rf-toast-card{background:#fff;border-radius:16px;padding:28px 28px 24px;display:flex;align-items:flex-start;gap:16px;box-shadow:0 20px 60px rgba(0,0,0,.15);max-width:400px;width:calc(100% - 32px);position:relative;animation:rfToastSlideUp .35s cubic-bezier(.16,1,.3,1)}@keyframes rfToastSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.rf-toast-icon{width:40px;height:40px;border-radius:50%;background:#dcfce7;color:#16a34a;display:grid;place-items:center;font-size:20px;font-weight:800;flex-shrink:0}.rf-toast-body{display:grid;grid-gap:4px;gap:4px;flex:1 1;min-width:0}.rf-toast-body strong{font-size:15px;color:#0f172a}.rf-toast-body span{font-size:13px;color:#64748b;line-height:1.4}.rf-toast-close{position:absolute;top:10px;right:12px;background:none;border:none;font-size:22px;color:#94a3b8;cursor:pointer;line-height:1;padding:2px}.rf-toast-close:hover{color:#475569}.rf-honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none}.rf-form{display:grid;grid-gap:18px;gap:18px}.rf-form-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:28px;gap:28px;align-items:start}.rf-main-col{display:grid;grid-gap:18px;gap:18px}.rf-side-col{display:grid;grid-gap:15px;gap:15px;position:-webkit-sticky;position:sticky;top:24px;background:linear-gradient(180deg,#f8fafc,#fff);border:1px solid #dfe7f1;border-radius:14px;padding:20px;box-shadow:0 12px 30px rgba(15,23,42,.05)}.rf-side-heading{display:grid;grid-gap:4px;gap:4px;padding-bottom:12px;margin-bottom:2px;border-bottom:1px solid #e2e8f0}.rf-side-heading strong{color:#0f172a;font-size:14px;font-weight:800}.rf-side-heading span{color:#64748b;font-size:12px;line-height:1.4}.rf-quick-chips{display:flex;flex-wrap:wrap;gap:8px}.rf-quick-chip{font-weight:700}.rf-type-switch{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;padding:6px;border:1px solid #d9e6f7;border-radius:12px;background:#f1f5f9}.rf-type-button{min-height:48px;border:1px solid transparent;border-radius:8px;background:transparent;color:#475569;font-size:14px;font-weight:800;cursor:pointer}.rf-type-button:hover{background:#fff;border-color:#dbeafe}.rf-type-button.active{background:#1d4ed8;border-color:#1d4ed8;color:#fff;box-shadow:0 8px 18px rgba(37,99,235,.18)}.rf-show-detail-btn{display:flex;align-items:center;justify-content:center;padding:12px;border-radius:10px;border:1.5px dashed #d1d5db;background:transparent;color:#64748b;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.rf-show-detail-btn:hover{border-color:#93c5fd;color:#3b82f6;background:#f8fafc}.rf-field{display:grid;grid-gap:6px;gap:6px}.rf-label{font-size:13px;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:4px}.rf-req{color:#ef4444}.rf-optional{color:#94a3b8;font-weight:400;font-size:12px}.rf-input,.rf-select,.rf-textarea{padding:12px 14px;border-radius:12px;border:1.5px solid #e2e8f0;font-size:15px;color:#0f172a;background:#fff;outline:none;width:100%;transition:border-color .18s,box-shadow .18s;font-family:inherit}.rf-input:focus,.rf-select:focus,.rf-textarea:focus{border-color:#3b82f6!important;box-shadow:0 0 0 3px rgba(59,130,246,.1)!important}.rf-input-error,.rf-select-error,.rf-textarea-error{border-color:#ef4444}.rf-input::placeholder,.rf-textarea::placeholder{color:#94a3b8}.rf-textarea{resize:vertical;min-height:80px}.rf-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:36px;min-height:48px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px}.rf-field-footer{display:flex;justify-content:space-between;align-items:center}.rf-err{font-size:12px;color:#ef4444;font-weight:500}.rf-counter{font-size:11px;color:#94a3b8;margin-left:auto}.rf-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.rf-hidden,.rf-unit-inline{display:none}.rf-category-row{grid-template-columns:1fr}.rf-loan-panel{display:grid;grid-gap:18px;gap:18px;padding:20px;border:1px solid #cfe1ff;border-radius:14px;background:linear-gradient(180deg,#f8fbff,#fff);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.8)}.rf-loan-time-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:16px;gap:16px}.rf-time-pair{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.rf-loan-start-field{grid-column:span 2}.rf-date-time-combo{display:grid;grid-template-columns:minmax(220px,1.8fr) minmax(88px,.6fr) minmax(88px,.6fr);grid-gap:8px;gap:8px;align-items:end;padding:12px;border:1px solid #dbeafe;border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.03)}.rf-combo-part{display:grid;grid-gap:4px;gap:4px;min-width:0}.rf-combo-part span{color:#64748b;font-size:11px;font-weight:800;line-height:1.2}.rf-combo-part .rf-input,.rf-combo-part .rf-select{min-height:44px;padding-top:9px;padding-bottom:9px;font-size:14px;border-radius:10px}.rf-chips{display:flex;flex-wrap:wrap;gap:8px}.rf-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:20px;border:1.5px solid #e2e8f0;background:#fff;color:#334155;font-size:13px;font-weight:600;cursor:pointer;transition:all .18s;white-space:nowrap}.rf-chip:hover{border-color:#93c5fd;background:#f0f7ff;transform:translateY(-1px)}.rf-chip-active{border-color:#3b82f6;background:#eff6ff;color:#1d4ed8;box-shadow:0 0 0 2px rgba(59,130,246,.15)}.rf-loading{color:#94a3b8;font-size:13px;padding:8px}.rf-priority-card{border:1.5px solid;border-radius:14px;padding:16px;display:grid;grid-gap:12px;gap:12px;transition:background .2s,border-color .2s}.rf-priority-header{display:flex;align-items:center;gap:12px}.rf-priority-header strong{font-size:14px;color:#0f172a;display:block}.rf-priority-header small{color:#64748b;font-size:12px;display:block;margin-top:2px}.rf-priority-opts{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.rf-prio-btn{padding:8px 6px;border-radius:10px;border:1.5px solid #e2e8f0;background:#fff;color:#334155;font-size:12px;font-weight:700;cursor:pointer;transition:all .15s;white-space:nowrap}.rf-prio-btn:hover{opacity:.85}.rf-prio-btn-active{color:#fff;border-color:transparent;box-shadow:0 2px 8px rgba(0,0,0,.15)}.rf-hidden-file{position:fixed;top:0;left:0;width:1px;height:1px;opacity:0;overflow:hidden;z-index:-1}.rf-camera-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.rf-camera-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:18px 16px;border-radius:12px;border:1.5px solid #e2e8f0;background:#fff;color:#334155;font-size:14px;font-weight:700;cursor:pointer;transition:all .18s;min-height:62px}.rf-camera-btn:hover{border-color:#93c5fd;background:#f8fafc;box-shadow:0 8px 18px rgba(15,23,42,.06)}.rf-camera-btn-primary{color:#fff}.rf-camera-btn-primary,.rf-camera-btn-primary:hover{background:#0f172a;border-color:#0f172a}.rf-hint{font-size:12px;color:#94a3b8}.rf-preview{position:relative;border-radius:14px;overflow:hidden;background:#0f172a;min-height:180px;display:flex;align-items:center;justify-content:center}.rf-preview img{width:100%;max-height:260px;object-fit:cover;display:block;border-radius:14px}.rf-preview-remove{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;border:none;cursor:pointer;display:grid;place-items:center;font-size:20px;font-weight:700;line-height:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .15s}.rf-preview-remove:hover{background:rgba(220,38,38,.85)}.rf-preview-meta{position:absolute;bottom:0;left:0;right:0;padding:8px 14px;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;font-size:12px;border-radius:0 0 14px 14px}.rf-toggle-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1.5px solid #e2e8f0;border-radius:14px;background:#f8fafc;cursor:pointer;transition:border-color .2s}.rf-toggle-card:hover{border-color:#93c5fd}.rf-toggle{position:relative;width:44px;height:24px;flex-shrink:0}.rf-toggle input{position:absolute;opacity:0;width:0;height:0}.rf-toggle-track{position:absolute;inset:0;background:#cbd5e1;border-radius:24px;cursor:pointer;transition:background .2s}.rf-toggle-track:after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s}.rf-toggle input:checked+.rf-toggle-track{background:#3b82f6}.rf-toggle input:checked+.rf-toggle-track:after{transform:translateX(20px)}.rf-toggle-card strong{font-size:13px;color:#0f172a;display:block}.rf-toggle-card small{color:#64748b;font-size:12px;display:block;margin-top:2px}.minimal-login-form{display:grid;grid-gap:14px;gap:14px}.minimal-login-field{display:grid;grid-gap:6px;gap:6px}.minimal-login-field label{color:#0f172a;font-size:13px;font-weight:800}.minimal-login-field input{width:100%;min-height:46px;padding:11px 12px;border-radius:8px;border:1px solid #dbe3ef;background:#fff;color:#0f172a;font-size:14px;outline:none;box-shadow:inset 0 1px 2px rgba(15,23,42,.03)}.minimal-login-field input::placeholder{color:#94a3b8}.minimal-login-error{padding:10px 12px;border-radius:8px;border:1px solid #fecaca;background:#fff7f7;color:#b91c1c;font-size:13px;line-height:1.5}@media (max-width:620px){.rf-shell{padding:14px 12px 16px;border-radius:14px}.rf-header{flex-direction:row;align-items:center;gap:12px;margin-bottom:12px}.rf-header-text h1{font-size:18px}.rf-subtitle{font-size:12px}.rf-form-grid{grid-template-columns:1fr;gap:14px}.rf-main-col{gap:12px}.rf-side-col{position:static;padding:14px;gap:10px}.rf-row{grid-template-columns:1fr 1fr;gap:10px}.rf-loan-time-grid{grid-template-columns:1fr;gap:10px}.rf-loan-start-field{grid-column:auto}.rf-date-time-combo{grid-template-columns:1fr 1fr;padding:10px;gap:6px;border-radius:10px}.rf-combo-date{grid-column:span 2}.rf-time-pair{grid-template-columns:1fr 1fr;gap:6px}.rf-loan-panel{padding:14px;gap:14px}.rf-combo-part span{font-size:10px}.rf-combo-part .rf-input,.rf-combo-part .rf-select{min-height:40px;padding-top:8px;padding-bottom:8px;font-size:14px}.rf-field{gap:4px}.rf-label{font-size:12px}.rf-input,.rf-select,.rf-textarea{padding:10px 12px;min-height:42px;font-size:15px}.rf-textarea{min-height:64px}.rf-camera-actions{grid-template-columns:1fr 1fr;gap:8px}.rf-camera-btn{padding:12px 10px;min-height:46px;font-size:13px}.rf-chip{padding:6px 12px;font-size:12px}.rf-quick-chips{gap:6px}.rf-hint{font-size:11px}.rf-show-detail-btn{padding:10px;font-size:12px}}@media (min-width:621px) and (max-width:920px){.rf-shell{max-width:760px;padding:24px}.rf-form-grid{grid-template-columns:1fr;gap:20px}.rf-side-col{position:static;grid-template-columns:1fr 1fr}.rf-side-col button[type=submit],.rf-side-col label.rf-toggle-card,.rf-side-heading{grid-column:span 2}}@media (max-width:767px){body{background:#f5f7fb}input,select,textarea{font-size:16px!important}[role=button],a,button{min-height:0;font-size:14px}.header-user-name{display:none}.public-site-header-inner{min-height:64px;padding-left:14px;padding-right:14px}.public-site-logo{width:36px;height:36px}.public-site-title{font-size:14px}.public-site-subtitle{max-width:190px}.app-header{position:static;width:100%;max-width:100vw;padding:env(safe-area-inset-top) 8px 0}.app-header-brand{justify-content:flex-start;gap:8px;padding:0;min-width:0;overflow:hidden}.app-header-logo,.app-header-role,.app-header-title-wrap span,.app-header-user-text{display:none}.app-header-title-wrap{width:100%;min-width:0;overflow:hidden}.app-header-title-wrap h1{font-size:15px;line-height:1.2;max-width:100%;min-width:0;display:block}.app-header-actions{justify-content:flex-end;gap:4px;min-width:0}.app-header-user{gap:0;flex:0 0 auto}.app-header-avatar{width:32px;height:32px;min-height:32px;border-radius:8px;font-size:13px}.card{border-radius:8px}.table-responsive-wrapper,div[style*="overflow-x: auto"]{margin-left:-4px;margin-right:-4px;padding-left:4px;padding-right:4px;scrollbar-width:thin;overflow-x:auto!important}}@media (max-width:420px){.public-site-subtitle{max-width:150px}.public-site-login{padding-left:13px;padding-right:13px}}.public-main{min-height:100dvh;background-color:#f6f8fb;color:#0f172a}.public-container{max-width:1180px;margin:0 auto;padding:18px 14px 34px}.public-grid{display:grid;grid-template-columns:minmax(0,1080px);justify-content:center;grid-gap:18px;gap:18px;align-items:start}.public-login-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:22px;box-shadow:0 18px 46px rgba(15,23,42,.07)}.public-login-header{margin-bottom:18px}.public-login-icon{width:42px;height:42px;border-radius:8px;background-color:#eff6ff;color:#2563eb;display:grid;place-items:center;font-weight:800;margin-bottom:12px}.public-login-title{margin:0;font-size:22px;line-height:1.2;color:#0f172a}.public-login-subtitle{margin:6px 0 0;font-size:14px;line-height:1.5;color:#64748b}.lapor-main{min-height:100vh;min-height:100dvh;background:linear-gradient(145deg,#f0f4fb,#e8eef8 50%,#f3f6fc);padding:28px 14px 48px}@media (max-width:620px){.lapor-main{padding:12px 8px 32px}}@media (max-width:420px){.lapor-main{padding:6px 4px 24px}}.page-content{padding:24px;max-width:1280px;margin:0 auto}.page-content-full{padding:24px}@media (max-width:768px){.page-content,.page-content-full{padding:16px}}.badge{display:inline-block;border-radius:var(--radius-full);font-size:11px;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.badge-pending{background-color:var(--color-warning-bg);color:var(--color-warning)}.badge-in_progress{background-color:#dbeafe;color:#1d4ed8}.badge-done{background-color:var(--color-success-bg);color:var(--color-success)}.badge-rejected{background-color:var(--color-danger-bg);color:var(--color-danger)}.badge-urgent{background-color:var(--color-urgent-bg);color:var(--color-urgent);font-weight:700}.badge-work_log{background-color:var(--color-worklog-bg);color:var(--color-worklog)}.badge-approved{background-color:var(--color-approved-bg);color:var(--color-approved)}.badge-default{background-color:#f1f5f9;color:var(--text-secondary)}.table-responsive-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.table-responsive-wrapper table{width:100%;border-collapse:collapse;background:var(--bg-card);min-width:600px}.table-responsive-wrapper th{background:#f8fafc;color:var(--text-secondary);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:10px 16px;text-align:left;border-bottom:2px solid var(--border-color)}.table-responsive-wrapper td{padding:12px 16px;border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle}.table-responsive-wrapper tr:last-child td{border-bottom:none}.table-responsive-wrapper tr:hover td{background-color:#f8fafc}.sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);color:var(--text-sidebar);position:fixed;top:0;left:0;height:100vh;overflow-y:auto;z-index:100;transition:transform .3s ease}.sidebar-logo{padding:20px 24px;font-size:16px;font-weight:700;color:#fff;border-bottom:1px solid hsla(0,0%,100%,.08);letter-spacing:-.3px}.sidebar-logo span{color:#60a5fa}.sidebar-nav{padding:16px 0}.sidebar-nav a{display:flex;align-items:center;gap:10px;padding:10px 24px;color:var(--text-sidebar);font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.sidebar-nav a:hover{background:var(--bg-sidebar-hover);text-decoration:none}.sidebar-nav a.active{background:rgba(37,99,235,.2);color:#60a5fa;border-right:3px solid var(--color-primary)}.sidebar-nav a svg{width:18px;height:18px;flex-shrink:0}.sidebar-desktop{width:240px;min-height:100dvh;background:linear-gradient(180deg,#fff,#fafcff);border-right:1px solid #e2e8f0;display:flex;flex-direction:column;box-shadow:2px 0 12px rgba(15,23,42,.03)}.sidebar-desktop-brand{padding:20px 16px 16px;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;gap:10px}.sidebar-desktop-brand-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#2563eb,#0891b2);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(37,99,235,.25)}.sidebar-desktop-brand-icon-text{color:#fff;font-weight:800;font-size:17px}.sidebar-desktop-brand-name{font-weight:800;font-size:15px;color:#0f172a;line-height:1.2}.sidebar-desktop-brand-sub{font-size:11px;color:#64748b;margin-top:1px}.sidebar-desktop-user-section{padding:14px 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #f1f5f9}.sidebar-desktop-user-avatar{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#2563eb;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex-shrink:0;border:1px solid #bfdbfe}.sidebar-desktop-user-info{min-width:0;flex:1 1}.sidebar-desktop-user-name{font-size:13px;color:#0f172a;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.sidebar-desktop-user-role{font-size:11px;color:#64748b;line-height:1.3;margin-top:1px}.sidebar-desktop-nav{flex:1 1;padding:12px 8px;overflow-y:auto}.sidebar-desktop-nav-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;padding:8px 12px 6px}.sidebar-desktop-nav-links{margin-bottom:4px}.sidebar-desktop-link{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 12px;border-radius:8px;font-size:14px;font-weight:500;color:#475569;background-color:transparent;text-decoration:none;margin-bottom:1px;position:relative;transition:background-color .15s ease,color .15s ease}.sidebar-desktop-link:hover{background-color:#f1f5f9;color:#0f172a;text-decoration:none}.sidebar-desktop-link-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#94a3b8;transition:color .15s ease}.sidebar-desktop-link:hover .sidebar-desktop-link-icon{color:#64748b}.sidebar-desktop-link-text{flex:1 1;min-width:0}.sidebar-desktop-link-dot{width:6px;height:6px;border-radius:50%;background:#2563eb;flex-shrink:0;animation:fadeIn .3s ease}.sidebar-desktop-link-active{font-weight:600;color:#1e40af;background-color:#eff6ff}.sidebar-desktop-link-active .sidebar-desktop-link-icon{color:#2563eb}.sidebar-desktop-link-active:hover{background-color:#dbeafe}.sidebar-desktop-divider-section{margin-top:8px;padding-top:8px;border-top:1px solid #f1f5f9}.sidebar-desktop-footer{padding:12px 8px;border-top:1px solid #f1f5f9}.sidebar-desktop-signout{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 12px;border-radius:8px;font-size:14px;font-weight:500;color:#dc2626;text-decoration:none;transition:background-color .15s}.sidebar-desktop-signout:hover{background-color:#fef2f2;color:#b91c1c;text-decoration:none}.sidebar-desktop-toggle{background:none;border:none;cursor:pointer;padding:8px;border-radius:8px;color:#475569;display:flex;align-items:center;transition:background-color .15s}.sidebar-desktop-toggle:hover{background-color:#f1f5f9}.hamburger{display:none;background:none;border:none;cursor:pointer;padding:8px;color:var(--text-primary)}.hamburger svg{width:24px;height:24px}.page-with-sidebar{padding-left:var(--sidebar-width);min-height:100vh}@media (max-width:768px){.page-with-sidebar{padding-left:0}}.card{border-radius:var(--radius-lg);padding:24px}@media (max-width:768px){.card{padding:16px;border-radius:var(--radius-md)}}.text-muted{color:var(--text-secondary)}.text-sm{font-size:12px}.font-bold{font-weight:700}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.mr-2{margin-right:8px}.ml-auto{margin-left:auto}.w-full{width:100%}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-bar{height:var(--header-height);background:var(--bg-card);border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:50;gap:16px}.header-bar h1{font-size:18px;font-weight:600;color:var(--text-primary)}@media (max-width:768px){.header-bar{padding:0 16px}}@media (max-width:420px){.stats-grid{grid-template-columns:1fr 1fr;gap:8px}.main-content table tbody tr{padding:10px!important}.main-content table tbody td{padding:4px 0!important;min-height:26px!important;font-size:12px!important}.main-content table tbody td:before{min-width:70px!important;max-width:70px!important;font-size:10px!important}}.card{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease}.card:hover{box-shadow:var(--shadow-md)}.card-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.card-header h2{margin:0;font-size:16px;font-weight:700;color:var(--text-primary)}.card-footer{padding:12px 20px;border-top:1px solid var(--border-color);background:#f8fafc;border-radius:0 0 var(--radius-md) var(--radius-md)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:16px;gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px 24px;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--color-primary);opacity:.6}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card-value{font-size:28px;font-weight:800;line-height:1.2;color:var(--text-primary)}.stat-card-label{font-size:13px;color:var(--text-secondary);margin-top:6px;font-weight:500}.stat-card-icon{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;opacity:.15}.filter-bar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px 20px;margin-bottom:16px;display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.filter-bar>*{flex:1 1 180px;min-width:150px}.tab-nav{display:flex;gap:2px;padding:4px;background:#f1f5f9;border-radius:var(--radius-md);overflow-x:auto}.tab-item{padding:8px 18px;border-radius:8px;border:none;font-size:13px;font-weight:600;color:#64748b;background:transparent;cursor:pointer;white-space:nowrap;transition:all .18s ease;min-height:36px}.tab-item:hover{color:var(--text-primary);background:hsla(0,0%,100%,.6)}.tab-item.active{color:#1e40af;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.08)}.badge-lg{font-size:12px;padding:3px 14px;letter-spacing:.5px}.skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s infinite;border-radius:6px}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.toast-container{position:fixed;top:16px;right:16px;z-index:9999;display:grid;grid-gap:8px;gap:8px;max-width:400px;width:calc(100% - 32px)}.toast{padding:14px 18px;border-radius:var(--radius-md);font-size:14px;font-weight:500;box-shadow:var(--shadow-lg);animation:rfToastSlideUp .3s cubic-bezier(.16,1,.3,1);display:flex;align-items:center;gap:10px;border:1px solid transparent}.toast-success{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}.toast-error{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.empty-state{flex-direction:column}.empty-state,.empty-state-icon{display:flex;align-items:center;justify-content:center}.empty-state-icon{width:64px;height:64px;border-radius:50%;background:#f1f5f9;color:#94a3b8}.empty-state-title{font-size:16px;color:var(--text-primary);margin-bottom:6px}.empty-state-desc{font-size:13px;color:var(--text-secondary);max-width:300px}@media (max-width:767px){.table-card{border-radius:0;margin-left:-12px;margin-right:-12px;border-left:none;border-right:none}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{padding:14px 16px}.stat-card-value{font-size:22px}.filter-bar{padding:12px;gap:8px;border-radius:8px}.filter-bar>*{flex:1 1 100%;min-width:0}.tab-nav{gap:4px;padding:3px}.tab-item{padding:6px 12px;font-size:12px}}@supports (padding-top:env(safe-area-inset-top)){.app-header{padding-top:env(safe-area-inset-top,0)!important}.mobile-bottom-nav{padding-bottom:env(safe-area-inset-bottom,0)!important}.sidebar-mobile-panel{padding-top:env(safe-area-inset-top,0)}}*,html{-webkit-tap-highlight-color:transparent}.main-content{overscroll-behavior-y:contain}@media (max-width:767px){::-webkit-scrollbar{width:3px;height:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:10px}body{text-size-adjust:100%}.text-body,li,p{line-height:1.6}select,textarea{font-size:16px}.empty-state svg{width:48px;height:48px}.card table thead{display:none}.card table tbody tr{display:flex;flex-direction:column;padding:var(--spacing-md);gap:var(--spacing-xs);border-bottom:1px solid var(--border-color)}.card table tbody td{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) 0;border:none;font-size:var(--font-size-sm);text-align:left;width:100%}.card table tbody td:before{content:attr(data-label);font-weight:600;color:var(--text-secondary);font-size:var(--font-size-xs);min-width:100px;flex-shrink:0}.card table tbody td[style]{width:100%!important}.card table tbody td[data-label=No]{display:none}.detail-grid,.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr!important}.mobile-menu-button{display:flex!important}.report-form-grid{grid-template-columns:1fr!important}}.worklog-layout{display:grid;grid-template-columns:1fr 400px;grid-gap:24px;gap:24px;align-items:start}.preset-btn{border:1px solid var(--border-color);background:#fff;border-radius:var(--radius-sm);padding:6px 12px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.preset-btn:hover{background:var(--bg-page);border-color:var(--border-color);color:var(--text-primary)}.preset-btn.active{background:#eff6ff;border-color:var(--color-primary);color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.upload-dropzone{border:2px dashed var(--border-color);border-radius:var(--radius-md);padding:20px;text-align:center;background:var(--bg-page);cursor:pointer;transition:all .2s ease}.upload-dropzone.drag-active{border-color:var(--color-primary);background:#eff6ff}.upload-dropzone:hover{border-color:var(--text-secondary);background:var(--bg-page)}.alert-animate{animation:slideIn .3s cubic-bezier(.16,1,.3,1)}@keyframes slideIn{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width:900px){.stats-grid{grid-template-columns:1fr;gap:12px}.worklog-layout{grid-template-columns:1fr;gap:24px}}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}@media (max-width:768px){.dash-title-section{flex-direction:column;align-items:stretch}.dash-title-section>div:last-child{justify-content:stretch}.dash-title-section>div:last-child button{flex:1 1}.dash-search-wrap{flex-direction:column;align-items:stretch}.dash-shortcuts{flex-wrap:wrap}.dash-tab-label{display:none}.dash-tab-label-short{display:inline}.dash-tabs-wrap{gap:4px;padding:8px}.dash-tabs-wrap button{padding:6px 10px;font-size:12px}.dash-ticket-actions{justify-content:stretch;flex-direction:column}.dash-ticket-actions button{width:100%;justify-content:center}}@media (min-width:769px){.dash-tab-label-short{display:none}}.main-layout{display:grid;grid-template-columns:5fr 7fr;grid-gap:24px;gap:24px;align-items:start}.desktop-table-view{display:block}.mobile-cards-view{display:none}@media (max-width:768px){.main-layout,.stats-grid{grid-template-columns:1fr}.stats-grid{gap:10px}.desktop-table-view{display:none}.mobile-cards-view{display:flex;flex-direction:column;gap:12px}}:root{--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-primary-dark:#1e40af;--color-primary-light:#dbeafe;--color-primary-bg:#eff6ff;--color-success:#10b981;--color-success-hover:#059669;--color-success-dark:#047857;--color-success-light:#a7f3d0;--color-success-bg:#ecfdf5;--color-warning:#f59e0b;--color-warning-hover:#d97706;--color-warning-dark:#b45309;--color-warning-light:#fcd34d;--color-warning-bg:#fffbeb;--color-danger:#ef4444;--color-danger-hover:#dc2626;--color-danger-dark:#b91c1c;--color-danger-light:#fca5a5;--color-danger-bg:#fef2f2;--color-urgent:#dc2626;--color-urgent-bg:#fef2f2;--color-worklog:#8b5cf6;--color-worklog-hover:#7c3aed;--color-worklog-light:#ddd6fe;--color-worklog-bg:#f5f3ff;--color-approved:#10b981;--color-approved-bg:#ecfdf5;--color-info:#06b6d4;--color-info-bg:#ecf8ff;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--bg-page:#f8fafc;--bg-card:#fff;--bg-sidebar:#0f172a;--bg-sidebar-hover:#1e293b;--bg-input:#fff;--bg-input-disabled:#f3f4f6;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#64748b;--text-sidebar:#94a3b8;--text-sidebar-active:#fff;--text-inverse:#fff;--border-color:#e2e8f0;--border-color-light:#f1f5f9;--border-color-dark:#cbd5e1;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:30px;--font-size-4xl:36px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--font-weight-800:800;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.75;--radius-sm:6px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-full:9999px;--shadow-xs:0 1px 2px 0 rgba(0,0,0,.05);--shadow-sm:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,.15);--shadow-card:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);--shadow-card-hover:0 4px 12px rgba(0,0,0,.1);--sidebar-width:240px;--sidebar-width-collapsed:80px;--header-height:64px;--mobile-header-height:44px;--mobile-app-header-height:calc(44px + env(safe-area-inset-top));--mobile-bottom-nav-height:52px;--mobile-bottom-nav-total:calc(52px + env(safe-area-inset-bottom));--transition-fast:0.15s cubic-bezier(0.4,0,0.2,1);--transition-normal:0.2s cubic-bezier(0.4,0,0.2,1);--transition-slow:0.3s cubic-bezier(0.4,0,0.2,1);--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-modal-backdrop:400;--z-modal:500;--z-popover:600;--z-tooltip:700;--z-notification:800;--z-debug:9999;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{transform:translateX(20px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pulseSubtle{0%,to{opacity:1}50%{opacity:.8}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.animate-fade-in{animation:fadeIn .35s cubic-bezier(.16,1,.3,1) forwards}.animate-slide-in{animation:slideInRight .3s cubic-bezier(.16,1,.3,1) forwards}.animate-slide-up{animation:slideInUp .3s cubic-bezier(.16,1,.3,1) forwards}.animate-scale-in{animation:scaleIn .2s cubic-bezier(.16,1,.3,1) forwards}.animate-pulse{animation:pulseSubtle 2s cubic-bezier(.4,0,.6,1) infinite}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{min-height:100%;-webkit-text-size-adjust:100%;scroll-padding-top:80px}body{font-family:var(--font-outfit),var(--font-inter),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background-color:var(--bg-page);color:var(--text-primary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);text-rendering:optimizeLegibility;min-height:100dvh;overflow-x:hidden;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font-family:var(--font-inter),sans-serif}input:focus,select:focus,textarea:focus{border-color:var(--color-primary)!important;box-shadow:0 0 0 3px rgba(59,130,246,.12)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--color-gray-400);border-radius:9999px;border:2px solid var(--bg-page)}::-webkit-scrollbar-track{background:var(--bg-page)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}a{color:var(--color-primary);text-decoration:none;transition:all var(--transition-fast)}a:hover{color:var(--color-primary-hover);text-decoration:underline}.skip-link{position:fixed;left:12px;top:12px;z-index:var(--z-debug);transform:translateY(-140%);background:var(--text-primary);color:var(--text-inverse);border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg);font-weight:var(--font-weight-800);text-decoration:none;transition:transform var(--transition-normal)}.skip-link:focus{transform:translateY(0)}@media (max-width:767px){:root{--font-size-xs:10px;--font-size-sm:12px;--font-size-base:14px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:20px;--font-size-3xl:24px;--font-size-4xl:28px;--spacing-xs:3px;--spacing-sm:6px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:24px;--spacing-2xl:32px;--spacing-3xl:48px;--radius-sm:4px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px}body{font-size:12px}}.page-wrapper{display:flex;flex-direction:row;min-height:100dvh;background-color:var(--bg-page)}@media (min-width:768px){.page-wrapper{flex-direction:row}.sidebar-desktop{position:relative;width:var(--sidebar-width);height:100dvh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;flex-shrink:0}.main-content{flex:1 1;display:flex;flex-direction:column;overflow:hidden}.app-header{position:relative;height:var(--header-height);flex-shrink:0;width:100%}#page-content{flex:1 1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.mobile-bottom-nav,.mobile-menu-button,.sidebar-overlay{display:none!important}}@media (max-width:767px){.page-wrapper{flex-direction:column}.sidebar-desktop{position:fixed;left:0;top:0;bottom:0;width:min(280px,85vw);height:100dvh;transform:translateX(-100%);transition:transform var(--transition-normal);z-index:var(--z-fixed);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.sidebar-desktop.sidebar-open{transform:translateX(0)}.sidebar-overlay{position:fixed;inset:0;background-color:rgba(0,0,0,.5);z-index:calc(var(--z-fixed) - 1);opacity:0;pointer-events:none;transition:opacity var(--transition-normal)}.sidebar-overlay.sidebar-open{opacity:1;pointer-events:auto}.main-content{display:flex;flex-direction:column;flex:1 1;overflow:hidden}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky);height:var(--mobile-app-header-height);width:100%;flex-shrink:0}#page-content{flex:1 1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-bottom:var(--mobile-bottom-nav-total)}.mobile-bottom-nav{display:flex!important}}@media (min-width:768px){#page-content{padding:var(--spacing-lg) clamp(var(--spacing-lg),4vw,var(--spacing-2xl))}}@media (max-width:767px){#page-content{padding:var(--spacing-md) var(--spacing-sm)}}.page-content-wrapper{max-width:1400px;margin:0 auto;width:100%}.grid-responsive-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:var(--spacing-lg);gap:var(--spacing-lg)}@media (min-width:1200px){.grid-responsive-4{grid-template-columns:repeat(4,1fr)}}@media (min-width:768px) and (max-width:1199px){.grid-responsive-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:767px){.grid-responsive-4{grid-template-columns:1fr}}.grid-responsive-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:var(--spacing-lg);gap:var(--spacing-lg)}@media (min-width:1024px){.grid-responsive-3{grid-template-columns:repeat(3,1fr)}}@media (min-width:768px) and (max-width:1023px){.grid-responsive-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:767px){.grid-responsive-3{grid-template-columns:1fr}table{display:block;border:none}table thead{display:none}table tbody{gap:var(--spacing-md)}table tbody,table tbody tr{display:flex;flex-direction:column}table tbody tr{gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}table tbody td{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) 0;border:none;background:none}table tbody td:before{content:attr(data-label);font-weight:var(--font-weight-700);font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;min-width:100px}table tbody td:last-child:before{display:none}table tbody td:last-child{justify-content:flex-end;flex-wrap:wrap}button[style*="display: flex"],button[style*="display: inline-flex"]{min-height:44px;min-width:44px}.button-full-width{width:100%!important}}.form-group{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}@media (min-width:768px){.form-group-horizontal{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--spacing-lg);gap:var(--spacing-lg)}.form-group-horizontal.grid-3{grid-template-columns:1fr 1fr 1fr}}@media (max-width:767px){.form-group-horizontal,.form-group-horizontal.grid-3{display:flex;flex-direction:column;gap:var(--spacing-md)}}.flex-responsive{display:flex;gap:var(--spacing-md);flex-wrap:wrap;align-items:center}@media (max-width:767px){.flex-responsive{flex-direction:column;align-items:stretch}.flex-responsive>*{width:100%}}.scrollable-x{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--color-gray-400) transparent}.scrollable-x::-webkit-scrollbar{height:8px}.scrollable-x::-webkit-scrollbar-thumb{background-color:var(--color-gray-400);border-radius:var(--radius-full)}.scrollable-x::-webkit-scrollbar-track{background-color:transparent}.hidden-mobile{display:flex}@media (max-width:767px){.hidden-mobile{display:none!important}}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-clamp-2{-webkit-line-clamp:2}.text-clamp-2,.text-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.text-clamp-3{-webkit-line-clamp:3}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.card-hover{cursor:pointer;transition:all var(--transition-normal)}.card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.card-hover:active{transform:translateY(0)}.loading{opacity:.6;pointer-events:none}.loading-overlay{position:relative}.loading-overlay:after{content:"";position:absolute;inset:0;background-color:hsla(0,0%,100%,.7);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop)}@media print{.app-header,.mobile-bottom-nav,.no-print,.sidebar-desktop{display:none!important}.page-wrapper{flex-direction:column}#page-content{margin:0;padding:0}}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}html{scroll-behavior:smooth}@media (max-width:767px){html{scroll-behavior:auto}}@supports (padding:max(0px)){body{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}}.card{background:var(--bg-card);border-radius:12px;box-shadow:var(--shadow-md);border:1px solid var(--border-color);overflow:hidden}.card-body{padding:20px}.card-header{padding:16px 20px;border-bottom:1px solid var(--border-color)}.form-group{margin-bottom:16px}.form-label{display:block;font-size:13px;font-weight:600;color:var(--color-text-secondary,#64748b);margin-bottom:6px}.form-input{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;background:var(--bg-input,#fff);color:var(--color-text-primary,#1e293b);transition:border-color .2s}.form-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.form-select{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;background:var(--bg-input,#fff);color:var(--color-text-primary,#1e293b);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:20px}textarea.form-input{resize:vertical;min-height:80px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none;text-decoration:none}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-success{background:#059669;color:#fff}.btn-success:hover{background:#047857}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover{background:#b91c1c}.btn-outline{background:transparent;border:1px solid var(--border-color);color:var(--color-text-secondary,#64748b)}.btn-outline:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-sm{padding:6px 12px;font-size:12px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:12px;font-weight:600;color:var(--color-text-secondary,#64748b);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-table-header,#f8fafc);white-space:nowrap}.table td,.table th{padding:12px 16px;border-bottom:1px solid var(--border-color)}.table td{font-size:13px}.table tbody tr:hover{background:var(--bg-table-hover,#f8fafc)}.grid-2{grid-template-columns:repeat(2,1fr);grid-gap:16px}.grid-2,.grid-3{display:grid;gap:16px}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:16px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px}@media (max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}@media (max-width:1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}.page-title{font-size:24px;font-weight:700;color:var(--color-text-primary,#1e293b)}.page-subtitle{font-size:14px;color:var(--color-text-secondary,#64748b);margin-top:4px}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:9999px;font-size:12px;font-weight:600}.badge-pending{background:#fef3c7;color:#92400e}.badge-in_progress{background:#dbeafe;color:#1e40af}.badge-done{background:#d1fae5;color:#065f46}.badge-rejected{background:#fee2e2;color:#991b1b}.tabs{display:flex;gap:4px;flex-wrap:wrap}.tab{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none;background:transparent;color:var(--color-text-secondary,#64748b);transition:all .2s}.tab:hover{background:var(--bg-table-hover,#f1f5f9)}.tab.active{background:var(--color-primary);color:#fff}.empty-state{text-align:center;padding:48px 24px}.empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state-title{font-size:18px;font-weight:700;color:var(--color-text-primary,#1e293b);margin-bottom:8px}.empty-state-text{font-size:14px;color:var(--color-text-secondary,#64748b)}