@import "https://fonts.googleapis.com/css2?family=Bai+Jamjuree:wght@400;500;600;700&display=swap";
:root{--iro-background:#f4f7fb;--iro-background-soft:#eaf1f8;--iro-surface:#fff;--iro-surface-hover:#f3f7fc;--iro-border:#d5e0ec;--iro-text:#17304f;--iro-text-secondary:#526a85;--iro-text-muted:#7a8ea6;--iro-primary:#25467c;--iro-secondary:#2774bb;--iro-success:#1f9d68;--iro-warning:#d9951e;--iro-danger:#d94a55;--iro-info:#2774bb;--iro-gradient:linear-gradient(90deg, #25467c 0%, #2774bb 100%);--iro-radius:14px;--iro-sidebar-width:270px;font-family:Bai Jamjuree,system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--iro-background)}body{min-width:320px;font-family:var(--font-bai-jamjuree), system-ui, sans-serif;background:radial-gradient(circle at top left, #2774bb24, transparent 34rem), var(--iro-background);color:var(--iro-text);margin:0;line-height:1.55;overflow-x:hidden}body::-webkit-scrollbar{width:10px}body::-webkit-scrollbar-track{background:var(--iro-background)}body::-webkit-scrollbar-thumb{background:#b7c8db;border-radius:999px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}:focus-visible{outline-offset:2px;outline:3px solid #2774bbcc}h1,h2,h3{margin-top:0;line-height:1.15}p{color:var(--iro-text-secondary)}.page{width:100%;min-height:100%;padding:0}.page-shell{gap:24px;display:grid}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.eyebrow{color:var(--iro-secondary);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:700}.small{color:var(--iro-text-muted);font-size:13px}.card{background:var(--iro-surface);border:1px solid var(--iro-border);border-radius:var(--iro-radius);padding:22px;box-shadow:0 18px 45px #25467c1a}.card.compact{padding:16px}.card:hover{border-color:#2774bb6b}.input,select,textarea{border:1px solid var(--iro-border);width:100%;min-width:0;color:var(--iro-text);background:#fff;border-radius:10px;margin-top:6px;padding:12px 14px}.input:focus,select:focus,textarea:focus{border-color:var(--iro-secondary);outline:none;box-shadow:0 0 0 3px #2774bb24}textarea{resize:vertical;min-height:130px}label{color:var(--iro-text-secondary);margin-bottom:14px;font-size:14px;font-weight:600;display:block}button,.button,.secondary{background:var(--iro-secondary);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:11px 16px;font-weight:700;display:inline-flex}button:hover,.button:hover{background:#1f639f}button:disabled{cursor:not-allowed;opacity:.62}button.secondary,.secondary{color:var(--iro-primary);background:#fff;border-color:#25467c47}button.secondary:hover,.secondary:hover{background:var(--iro-background-soft)}.grid{gap:18px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.menu{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.menu-item{background:var(--iro-surface);border:1px solid var(--iro-border);border-radius:var(--iro-radius);padding:20px}.dashboard-layout{grid-template-columns:var(--iro-sidebar-width) minmax(0, 1fr);min-height:100vh;display:grid}.dashboard-sidebar{z-index:30;background:#25467c;border-right:1px solid #fff3;flex-direction:column;height:100vh;padding:22px;display:flex;position:sticky;top:0}.sidebar-brand{border-bottom:1px solid #ffffff38;padding-bottom:22px}.brand-mark{background:var(--iro-gradient);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:126px;height:48px;font-size:24px;font-weight:800;display:inline-flex}.sidebar-nav{scrollbar-width:thin;scrollbar-color:#ffffff59 transparent;flex:auto;gap:8px;min-height:0;margin-top:24px;padding-right:4px;display:grid;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff59;border-radius:999px}.sidebar-status{flex-shrink:0}.field-row{border-bottom:1px solid var(--iro-border);justify-content:space-between;gap:16px;padding:5px 0;font-size:13px;display:flex}.field-row:last-child{border-bottom:none}.field-row-label{color:var(--iro-text-muted);white-space:nowrap}.field-row-value{text-align:right;word-break:break-word;font-weight:500}.sidebar-link{color:#ffffffc7;border:1px solid #0000;border-radius:10px;align-items:center;gap:12px;min-height:44px;padding:10px 12px;font-weight:700;display:flex}.sidebar-link:hover{color:#fff;background:#ffffff1f}.sidebar-link.active{color:#fff;background:#2774bb;border-color:#ffffff47;box-shadow:0 12px 30px #071c393d}.sidebar-status{color:#fff;background:#ffffff1a;border:1px solid #ffffff3d;border-radius:12px;margin-top:auto;padding:14px}.dashboard-sidebar .small{color:#ffffffb8}.dashboard-main{grid-template-rows:auto 1fr;min-width:0;display:grid}.dashboard-header{z-index:20;border-bottom:1px solid var(--iro-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe6;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:14px 28px;display:flex;position:sticky;top:0}.dashboard-header-primary{color:#fff;background:#25467c;border-bottom-color:#25467c}.dashboard-header-primary .eyebrow,.dashboard-header-primary .small{color:#ffffffc7}.dashboard-header-primary .user-name,.dashboard-header-primary strong{color:#fff}.dashboard-header-primary .mobile-menu-button.secondary{color:#fff;background:#ffffff1f;border-color:#ffffff47}.dashboard-content{min-width:0;padding:28px}.mobile-menu-button{display:none}.user-chip{align-items:center;gap:12px;display:flex}.avatar{background:var(--iro-secondary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-weight:800;display:inline-flex}.compact-button{min-height:34px;padding:7px 10px;font-size:12px}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--iro-border);border-radius:var(--iro-radius);background:var(--iro-surface);gap:22px;width:min(100%,440px);padding:28px;display:grid;box-shadow:0 24px 70px #25467c24}.login-form{gap:14px;display:grid}.login-error{color:var(--iro-danger);border-radius:10px;padding:12px 14px}.badge{color:#fff;overflow-wrap:anywhere;border-radius:999px;align-items:center;width:fit-content;max-width:100%;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.badge-info{color:#25467c;background:#2774bb24}.badge-warning{color:#8a5406;background:#d9951e29}.badge-success{color:#126641;background:#1f9d6824}.badge-danger{color:#9f2630;background:#d94a5524}.badge-muted{color:#526a85;background:#7a8ea629}.badge-violet{color:#5b21b6;background:#7c3aed21}.badge-cyan{color:#1f639f;background:#2774bb1f}.filter-toolbar{grid-template-columns:minmax(240px,1.4fr) repeat(3,minmax(160px,1fr));align-items:end;gap:14px;display:grid}.work-order-card{transition:transform .16s,border-color .16s,background .16s}.work-order-card:hover{background:var(--iro-surface-hover);transform:translateY(-2px)}.work-order-layout{grid-template-columns:minmax(0,1.15fr) minmax(210px,.8fr) minmax(220px,.8fr);gap:18px;display:grid}.next-action-box{background:linear-gradient(#f3f8fd 0%,#eaf1f8 100%);border:1px solid #2774bb3d;border-radius:12px;margin-bottom:16px;padding:16px}.alert-error{background:#d94a5514;border-color:#d94a5557}.empty-state,.loading-state{border:1px dashed var(--iro-border);border-radius:var(--iro-radius);color:var(--iro-text-secondary);padding:20px}.task-timeline-section{gap:18px;display:grid}.task-section-header,.task-card-main,.task-card-title-row,.task-section-actions,.task-card-actions,.task-form-actions{gap:12px;display:flex}.task-section-header{justify-content:space-between;align-items:flex-start}.task-section-header p,.task-card h3,.task-card p,.task-feedback,.task-empty-state p{margin:0}.task-section-actions,.task-card-actions,.task-form-actions{flex-wrap:wrap}.task-create-form,.active-task-panel,.task-timeline,.task-list{gap:14px;display:grid}.task-create-form{border:1px solid var(--iro-border);background:var(--iro-background-soft);border-radius:12px;padding:16px}.task-card{border:1px solid var(--iro-border);background:#fff;border-radius:12px;gap:14px;padding:16px;display:grid;position:relative}.task-card:before{background:var(--iro-border);content:"";border-radius:999px;width:4px;position:absolute;inset:16px auto 16px -1px}.task-card-featured{background:linear-gradient(#fff 0%,#f3f8fd 100%);border-color:#2774bb73}.task-card-featured:before{background:var(--iro-secondary)}.task-card-main{justify-content:space-between;align-items:flex-start}.task-card-title-row{flex-wrap:wrap;align-items:center;margin-bottom:8px}.task-card-title-row h3{color:var(--iro-primary)}.task-card-badges{flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:min(320px,100%);display:flex}.task-meta-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;display:grid}.task-meta-grid div{border:1px solid var(--iro-border);background:var(--iro-surface-hover);border-radius:10px;padding:10px}.task-meta-grid dt{color:var(--iro-text-muted);font-size:12px;font-weight:700}.task-meta-grid dd{color:var(--iro-text);margin:3px 0 0;font-size:13px;font-weight:700}.task-feedback{border-radius:10px;padding:12px 14px;font-weight:700}.task-feedback.success{color:#126641;background:#1f9d681a;border:1px solid #1f9d683d}.task-feedback.error{color:#9f2630;background:#d94a551a;border:1px solid #d94a5547}.task-danger-action{color:var(--iro-danger)!important;border-color:#d94a5557!important}.task-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.task-summary-card{border:1px solid var(--iro-border);border-radius:var(--iro-radius);background:#fff;padding:18px;display:block;box-shadow:0 14px 34px #25467c14}.task-summary-card span{color:var(--iro-text-secondary);font-weight:700;display:block}.task-summary-card strong{color:var(--iro-primary);margin-top:8px;font-size:30px;line-height:1;display:block}.task-queue-filters{grid-template-columns:minmax(240px,1.5fr) repeat(4,minmax(150px,1fr));align-items:end;gap:14px;display:grid}.task-queue-checkbox{align-items:center;gap:8px;min-height:42px;margin-bottom:0;display:inline-flex}.task-queue-checkbox input{width:auto;margin:0}.task-queue-card,.task-queue-list{gap:14px;display:grid}.task-queue-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.task-queue-title-row h2{margin:0}.task-queue-item{border:1px solid var(--iro-border);background:#fff;border-radius:12px;grid-template-columns:minmax(0,1.2fr) minmax(260px,.9fr) auto;align-items:center;gap:16px;padding:16px;display:grid}.task-queue-main{gap:10px;display:grid}.task-queue-main p{margin:0}.task-queue-meta{color:var(--iro-text-secondary);gap:5px;font-size:13px;font-weight:700;display:grid}.task-queue-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.dashboard-department-list,.dashboard-task-list{gap:12px;display:grid}.dashboard-department-row,.dashboard-task-row{border:1px solid var(--iro-border);background:#fff;border-radius:12px;justify-content:space-between;gap:14px;padding:14px;display:flex}.dashboard-department-row:hover,.dashboard-task-row:hover{background:var(--iro-surface-hover)}.dashboard-task-row-action{justify-items:end;gap:8px;min-width:170px;display:grid}.stat-card strong{color:var(--iro-text);font-size:34px;line-height:1;display:block}.stat-card{background:#25467c;border-color:#25467c}.dashboard-open-button{color:#fff;background:#25467c}.dashboard-open-button:hover{background:#2d5696}.stat-card .stat-card-title{font-weight:600;color:#fff!important}.stat-card strong{color:#fff!important}.stat-card .small:not(.stat-card-title){color:#ffffffc7!important}.bar-track{background:#dbe7f2;border-radius:999px;height:9px;overflow:hidden}.bar-fill{border-radius:inherit;background:var(--iro-secondary);height:100%}.control-center-actions,.control-center-filter-footer,.control-center-bar-label,.control-center-count-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.control-center-actions,.control-center-filter-footer{flex-wrap:wrap}.control-center-card{cursor:pointer;overflow-wrap:anywhere}.control-center-card.selected{border-color:var(--iro-secondary);box-shadow:0 18px 45px #2774bb2e}.control-center-analytics{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px;display:grid}.control-center-count-row{border:1px solid var(--iro-border);background:var(--iro-surface-hover);border-radius:10px;padding:10px 12px}.control-center-timeline{gap:10px;margin-top:18px;display:grid}.control-center-timeline-item{border-color:var(--iro-border);width:100%;color:var(--iro-text);text-align:left;background:#fff;grid-template-columns:minmax(160px,.7fr) minmax(0,1.2fr) minmax(180px,.9fr) auto;align-items:center;display:grid}.control-center-timeline-item:hover{background:var(--iro-surface-hover)}.control-center-panel-overlay{z-index:60;background:#17304f61;justify-content:flex-end;display:flex;position:fixed;inset:0}.control-center-panel{background:var(--iro-surface);width:min(720px,100%);height:100%;padding:24px;overflow-y:auto;box-shadow:-20px 0 60px #17304f38}.control-center-panel-section{border-top:1px solid var(--iro-border);gap:14px;margin-top:22px;padding-top:22px;display:grid}.document-workspace,.document-requirement-group,.document-upload-list,.document-version-list,.document-admin-list{gap:16px;display:grid}.document-validation-box{border:1px solid var(--iro-border);background:var(--iro-surface-hover);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.document-validation-box h3,.document-validation-box p{margin:0}.document-validation-metrics{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.document-validation-metrics span{color:var(--iro-primary);background:#2774bb1f;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:800}.document-action-row{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.secondary-action{color:var(--iro-primary);margin-top:10px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.document-requirement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.upload-thumb-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;display:grid}.upload-thumb{aspect-ratio:1;border:1px solid var(--iro-border);background:var(--iro-surface-hover);border-radius:8px;display:block;position:relative;overflow:hidden}.upload-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .15s;display:block}.upload-thumb:hover img{transform:scale(1.05)}.upload-thumb-replace{color:#fff;cursor:pointer;background:#0000008c;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;line-height:1;display:inline-flex;position:absolute;top:4px;right:4px}.upload-thumb-replace input{display:none}.upload-thumb-delete{color:#fff;cursor:pointer;background:#b41e1eb8;border:none;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:12px;line-height:1;display:inline-flex;position:absolute;top:4px;left:4px}.upload-thumb-delete:disabled{opacity:.6;cursor:default}.upload-thumb-count{color:var(--iro-text-muted);margin:0}.upload-thumb-toggle{justify-self:start}.document-requirement-card,.document-upload-row,.document-admin-row{border:1px solid var(--iro-border);background:#fff;border-radius:12px;gap:14px;padding:16px;display:grid}.document-requirement-card h4,.document-admin-row h3,.document-upload-row p{margin:0}.document-requirement-meta,.document-upload-actions,.document-upload-row-actions,.document-checkbox-grid{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.document-requirement-meta span{background:var(--iro-surface-hover);color:var(--iro-text-secondary);border-radius:999px;padding:6px 9px;font-size:12px;font-weight:800}.document-file-button{background:var(--iro-secondary);color:#fff;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;min-height:42px;margin:0;padding:11px 16px;font-weight:800;display:inline-flex;position:relative}.secondary-file-button{color:var(--iro-primary);background:#fff;border:1px solid #25467c47}.compact-file-button{min-height:34px;padding:7px 10px;font-size:12px}.document-file-button input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.document-upload-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.document-version-list{background:var(--iro-surface-hover);border-radius:10px;grid-column:1/-1;padding:12px}.document-admin-row{grid-template-columns:minmax(0,1fr) minmax(220px,auto) auto;align-items:center}@media (max-width:1100px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-toolbar,.work-order-layout{grid-template-columns:1fr}}@media (max-width:900px){.grid-2,.grid-3,.menu,.dashboard-layout{grid-template-columns:1fr}.dashboard-sidebar{width:min(86vw, var(--iro-sidebar-width));transition:transform .18s;position:fixed;inset:0 auto 0 0;transform:translate(-104%)}.dashboard-sidebar.open{transform:translate(0)}.mobile-menu-button{display:inline-flex}.dashboard-overlay{z-index:25;background:#17304f5c;position:fixed;inset:0}.dashboard-header{padding:12px 16px}.dashboard-content{padding:18px}.user-chip .small{display:none}.task-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.task-queue-filters,.task-queue-item,.document-requirement-grid,.document-upload-row,.document-admin-row,.control-center-analytics,.control-center-timeline-item{grid-template-columns:1fr}.task-queue-actions{justify-content:stretch}.task-queue-actions a,.task-queue-actions button{width:100%}.task-section-header,.task-card-main,.dashboard-department-row,.dashboard-task-row,.control-center-actions,.control-center-filter-footer{flex-direction:column;align-items:stretch}.dashboard-task-row-action,.dashboard-task-row-action a{width:100%}.dashboard-task-row-action{justify-items:stretch}.task-section-actions,.task-card-actions,.task-form-actions,.document-upload-actions,.document-upload-row-actions,.document-upload-actions .document-file-button,.document-upload-row-actions .document-file-button,.task-card-actions button,.task-section-actions button,.task-form-actions button{width:100%}.task-card-badges{justify-content:flex-start;min-width:0}.task-meta-grid{grid-template-columns:1fr}.control-center-panel{padding:18px}}@media (max-width:520px){.task-summary-grid{grid-template-columns:1fr}}.assistant{gap:14px;display:grid}.assistant-header{align-items:center;gap:12px;display:flex}.assistant-avatar{border:1px solid var(--iro-border);background:#2774bb24;border-radius:999px;flex:none;place-items:center;width:46px;height:46px;font-size:24px;display:grid}.assistant-thread{flex-direction:column;gap:10px;max-height:460px;padding:4px;display:flex;overflow-y:auto}.assistant-empty{gap:10px;display:grid}.assistant-chips{flex-wrap:wrap;gap:8px;display:flex}.assistant-chip{border:1px solid var(--iro-border);background:var(--iro-surface-hover);color:var(--iro-text);cursor:pointer;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:600}.assistant-chip:hover:not(:disabled){border-color:var(--iro-primary)}.assistant-bubble{white-space:pre-wrap;word-break:break-word;border-radius:14px;max-width:82%;padding:10px 14px;font-size:14px;line-height:1.45}.assistant-bubble-user{background:var(--iro-primary);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.assistant-bubble-assistant{background:var(--iro-surface-hover);border:1px solid var(--iro-border);border-bottom-left-radius:4px;align-self:flex-start}.assistant-typing{letter-spacing:2px;color:var(--iro-text-muted)}.assistant-input{gap:8px;display:flex}.assistant-input input{flex:auto}.assistant-welcome{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.assistant-welcome .assistant-avatar{width:52px;height:52px;font-size:28px}.assistant-welcome-text{flex:260px}.field-tabs{border-bottom:1px solid var(--iro-border);gap:6px;margin-bottom:16px;display:flex}.field-tab{min-height:40px;color:var(--iro-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;border-radius:0;padding:8px 16px;font-weight:700}.field-tab:hover{background:var(--iro-surface-hover);color:var(--iro-text)}.field-tab-active{color:var(--iro-primary);border-bottom-color:var(--iro-primary)}@media (max-width:640px){.field-page .card{border-radius:12px;padding:14px;box-shadow:0 6px 18px #25467c14}.field-page h1{font-size:20px}.field-page .field-tabs{gap:2px}.field-page .field-tab{text-align:center;flex:1;padding:8px 9px;font-size:13px}.field-page .card button:not(.gallery-thumb),.field-page .card .document-file-button,.field-page .card input[type=file]{box-sizing:border-box;width:100%;min-height:46px}.field-page .card input,.field-page .card textarea,.field-page .card select{min-height:44px;font-size:16px}.field-page .card input[type=file]{padding:10px}input,select,textarea,.input{font-size:16px}}
