@charset "UTF-8";:root{--ink: #12202a;--ink-2: #3a4b57;--ink-3: #6b7c88;--line: #d7e0e6;--line-strong: #b7c5ce;--surface: #ffffff;--surface-2: #f5f8fa;--surface-3: #eef3f6;--brand: #0c6e66;--brand-hover: #09584f;--brand-soft: #e5f4f2;--warn: #b45309;--warn-soft: #fff7ed;--danger: #b42318;--danger-soft: #fef3f2;--ok: #067647;--ok-soft: #ecfdf3;--shadow: 0 1px 2px rgba(18, 32, 42, .05);--radius: 4px;--radius-sm: 2px;--sidebar-w: 260px;--header-h: 60px;--font: "DM Sans", "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace}*,*:before,*:after{box-sizing:border-box}html{overflow-x:clip;overflow-y:auto;-webkit-overflow-scrolling:touch}html,body{margin:0;min-height:100%;font-family:var(--font);color:var(--ink);background:var(--surface-2)}body{min-height:100dvh;overflow-x:clip;overflow-y:auto;-webkit-overflow-scrolling:touch}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}h1,h2,h3,p{margin:0}.muted{color:var(--ink-3)}.mono{font-family:var(--mono)}.app-frame{min-height:100dvh;display:grid;grid-template-columns:var(--sidebar-w) 1fr}.app-frame.nav-collapsed{grid-template-columns:76px 1fr}.sidebar{position:sticky;top:0;height:100dvh;max-height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#0f1c24;color:#e8eef2;display:flex;flex-direction:column;padding:1rem .75rem;z-index:30}.sidebar-brand{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.4rem .55rem 1rem}.sidebar-brand .sidebar-logo{height:32px;width:auto;display:block}.sidebar-brand .sidebar-icon{display:none;height:28px;width:28px;object-fit:contain}.app-frame.nav-collapsed .sidebar-brand{padding:.35rem 0 1rem}.app-frame.nav-collapsed .sidebar-brand .sidebar-logo{display:none}.app-frame.nav-collapsed .sidebar-brand .sidebar-icon{display:block}.sidebar-brand strong{display:block;font-size:.95rem}.sidebar-brand span{display:block;font-size:.72rem;color:#9aafbb}.nav-section{margin-top:.5rem;padding:0 .55rem;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#7f95a2}.nav-list{display:grid;gap:.2rem;margin-top:.35rem}.nav-link{display:flex;align-items:center;gap:.7rem;padding:.7rem .75rem;border-radius:10px;color:#c7d5dd;border:0;background:transparent;text-align:left;width:100%}.nav-link:hover,.nav-link.active{background:#ffffff14;color:#fff}.nav-link.active{background:#0c6e6659}.nav-ico{width:1.25rem;text-align:center;opacity:.9}.sidebar-foot{margin-top:auto;padding:.75rem .55rem .25rem;border-top:1px solid rgba(255,255,255,.08)}.main-wrap{min-width:0;display:grid;grid-template-rows:auto 1fr;overflow-x:clip}.content{padding:1.25rem;width:min(1280px,100%);margin:0 auto;min-width:0;overflow-x:clip;overflow-y:visible}.top-header{position:sticky;top:0;z-index:20;min-height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1.25rem;background:#f5f8faeb;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.icon-btn{border:1px solid var(--line);background:var(--surface);border-radius:10px;width:40px;height:40px;display:inline-grid;place-items:center}.user-chip{display:flex;align-items:center;gap:.65rem;padding:.35rem .55rem .35rem .35rem;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.avatar{width:30px;height:30px;border-radius:50%;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-size:.75rem;font-weight:700}.page-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem;flex-wrap:wrap}.page-header h1{font-size:1.45rem;letter-spacing:-.02em}.page-header p{margin-top:.25rem;color:var(--ink-3)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.card-body{padding:1rem 1.1rem}.card-pad{padding:1.1rem}.toolbar{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-bottom:.85rem}.toolbar .grow{flex:1 1 200px;max-width:320px}.toolbar .input:not(.grow),.toolbar .select{max-width:220px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-bottom:1rem}.stat{padding:1rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface)}.stat .label{color:var(--ink-3);font-size:.82rem}.stat .value{margin-top:.35rem;font-size:1.55rem;font-weight:700;letter-spacing:-.03em}.btn{border:0;border-radius:var(--radius-sm);padding:.6rem .9rem;background:var(--brand);color:#fff;font-weight:600;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.btn:hover{background:var(--brand-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong)}.btn.ghost{background:transparent;color:var(--ink-2);border:1px solid transparent}.btn.danger{background:var(--danger)}.btn.sm{padding:.4rem .65rem;font-size:.85rem}.field{display:grid;gap:.35rem}.field>span{font-size:.82rem;color:var(--ink-2);font-weight:500}.field input,.field select,.field textarea,.input,.select{width:100%;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:.6rem .7rem;background:#fff;color:var(--ink)}.field textarea{resize:vertical;min-height:88px}.field textarea.tall{min-height:220px;font-family:var(--mono);font-size:.88rem;line-height:1.45}.field-full{max-width:none;width:100%}.display-value{min-height:2.4rem;padding:.55rem 0;color:var(--ink);font-size:.95rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.display-value.empty{color:var(--ink-3)}.display-value.mono{font-family:var(--mono);font-size:.88rem}.grid-2,.grid-3,.grid-4{display:grid;gap:.85rem}.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))}.stack{display:grid;gap:.85rem}.form-actions{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end;margin-top:.5rem}.table-wrap{overflow:auto}table.data{width:100%;border-collapse:collapse;min-width:720px}table.data th,table.data td{text-align:left;padding:.75rem .85rem;border-bottom:1px solid var(--line);vertical-align:middle}table.data th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);background:var(--surface-3);position:sticky;top:0}table.data tr:hover td{background:#fafcfd}table.data tr.clickable{cursor:pointer}.badge{display:inline-flex;align-items:center;border-radius:var(--radius-sm);padding:.15rem .45rem;font-size:.72rem;font-family:var(--mono);background:var(--brand-soft);color:var(--brand-hover);white-space:nowrap}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.neutral{background:var(--surface-3);color:var(--ink-2)}.tabs{display:flex;gap:.35rem;flex-wrap:wrap;align-items:stretch;border-bottom:1px solid var(--line);margin-bottom:1rem;padding-bottom:.5rem}.tab-item{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;min-width:0}.tab{border:0;background:transparent;color:var(--ink-3);padding:.55rem .75rem;border-radius:var(--radius-sm);font-weight:500;text-align:left;white-space:nowrap}.tab.active,.tab-item.active .tab{background:var(--brand-soft);color:var(--brand-hover)}.tab-item.done .tab{color:var(--ok)}.tab-item.done.active .tab{background:var(--ok-soft);color:var(--ok)}.tab-check{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;margin-right:.35rem;border-radius:999px;background:var(--ok);color:#fff;font-size:.7rem;font-weight:700;line-height:1}.tab-step-action{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:.3rem .55rem;border-radius:var(--radius-sm);font-size:.78rem;font-weight:600;cursor:pointer}.tab-step-action:hover{border-color:var(--brand);color:var(--brand-hover)}.tab-step-action.secondary{color:var(--ink-3);font-weight:500}.tab-step-status{font-size:.75rem;padding:.15rem .55rem;color:var(--ok);font-weight:600}.tab-step-status.muted{color:var(--ink-3);font-weight:500}.step-bar{display:flex;gap:.35rem;flex-wrap:wrap;margin:0 0 1rem}.step-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .55rem;border-radius:var(--radius-sm);font-size:.78rem;background:var(--surface-3);color:var(--ink-3);border:1px solid transparent}.step-chip.done{background:var(--ok-soft);color:var(--ok);border-color:#abefc6}.empty{padding:2rem 1rem;text-align:center;color:var(--ink-3)}.row-actions{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1rem;align-items:start}.banner{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap;padding:.85rem 1rem;border-radius:var(--radius-sm);border:1px solid #9fd0c9;background:var(--brand-soft);margin-bottom:1rem}.banner.warn{border-color:#f0c48a;background:var(--warn-soft)}.modal-backdrop{position:fixed;inset:0;background:#0f1c2466;display:grid;place-items:center;padding:1rem;z-index:50}.modal{width:min(640px,100%);max-height:min(90vh,900px);overflow:auto;background:var(--surface);border-radius:var(--radius);border:1px solid var(--line-strong)}.modal.wide{width:min(820px,100%)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 1.1rem;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface);z-index:1}.modal-head h2{font-size:1.05rem;letter-spacing:-.02em}.modal-body{padding:1.1rem}.modal-body .card,.modal .card{border:0;box-shadow:none;background:transparent;padding:0}.modal-foot{padding:.85rem 1.1rem 1.1rem;border-top:1px solid var(--line);background:var(--surface)}.confirm-backdrop{z-index:70}.confirm-modal{width:min(420px,100%)}.toast-stack{position:fixed;right:1rem;bottom:1rem;display:grid;gap:.55rem;z-index:80;width:min(360px,100% - 2rem)}.toast{padding:.85rem 1rem;border-radius:var(--radius);color:#fff;background:var(--ink);box-shadow:var(--shadow)}.toast.success{background:#065f46}.toast.error{background:#9f1239}.login-screen{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:1.25rem;padding-bottom:max(1.25rem,env(safe-area-inset-bottom));background:var(--surface-2)}.login-card{width:min(380px,100%);display:grid;gap:.85rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.75rem 1.5rem 1.5rem;box-shadow:var(--shadow)}.login-logo{height:36px;width:auto;margin:0 auto .35rem;display:block}.login-card h1{margin:0;text-align:center;font-size:1.25rem;letter-spacing:-.02em;font-weight:700}.login-lead{margin:-.35rem 0 .4rem;text-align:center;color:var(--ink-3);font-size:.9rem}.login-error{margin:0;color:var(--danger);font-size:.9rem}.login-submit{width:100%;justify-content:center;margin-top:.25rem;min-height:44px}.top-header-left,.top-header-right{display:flex;align-items:center;gap:.65rem;min-width:0}.top-header-title{min-width:0}.top-header-title strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-header-role{font-size:.78rem}.mobile-only{display:none}.desktop-only{display:initial}@media(max-width:1100px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:960px){.app-frame,.app-frame.nav-collapsed{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;width:min(86vw,300px);max-width:100%;height:100dvh;max-height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;transform:translate(-105%);transition:transform .18s ease;padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom))}.app-frame.nav-open{overflow:hidden}.app-frame.nav-collapsed .sidebar-brand .sidebar-logo{display:block}.app-frame.nav-collapsed .sidebar-brand .sidebar-icon{display:none}.app-frame.nav-collapsed .sidebar-brand{padding:.4rem .55rem 1rem;justify-content:flex-start}.app-frame.nav-open .sidebar{transform:translate(0)}.nav-backdrop{position:fixed;inset:0;background:#0f1c2466;z-index:25}.login-screen{padding:1rem}.mobile-only{display:inline-flex;align-items:center;justify-content:center}.desktop-only,.hide-mobile{display:none!important}.col-hide-mobile{display:none}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.content{padding:.85rem;padding-bottom:max(.85rem,env(safe-area-inset-bottom))}.top-header{padding:.35rem .75rem;padding-left:max(.75rem,env(safe-area-inset-left));padding-right:max(.75rem,env(safe-area-inset-right));gap:.5rem;flex-wrap:wrap}.user-chip{padding:.2rem;border-radius:50%}.page-header{gap:.65rem}.page-header h1{font-size:1.2rem}.page-header .btn,.page-header .form-actions{width:100%}.page-header .form-actions .btn,.page-header>.btn{flex:1;justify-content:center}.toolbar{flex-direction:column;align-items:stretch}.toolbar .input,.toolbar .select,.toolbar input,.toolbar select,.toolbar .btn{max-width:none!important;width:100%}.panel{overflow-x:auto;overflow-y:visible}.panel .tabs{margin-left:0;margin-right:0;padding-left:0;padding-right:0}.tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:.5rem;padding-bottom:.65rem;margin-left:-.85rem;margin-right:-.85rem;padding-left:.85rem;padding-right:.85rem}.tab-item{flex:0 0 auto}.tab{white-space:nowrap}.tab-step-action,.tab-step-status{width:100%;text-align:center}.form-actions{justify-content:stretch}.form-actions .btn{flex:1 1 auto;justify-content:center;min-height:44px}.btn{min-height:40px;white-space:normal;text-align:center}.btn.sm{min-height:36px}.field input,.field select,.field textarea,.input,.select{font-size:16px;min-height:44px}.field textarea{min-height:88px}.card-pad,.card-body{padding:.85rem}.banner{flex-direction:column;align-items:stretch;gap:.65rem}.banner .btn{width:100%;justify-content:center}.stats{gap:.55rem}.stat{padding:.75rem}.stat .value{font-size:1.3rem}.table-wrap{margin:0 -.15rem;-webkit-overflow-scrolling:touch}table.data{min-width:0;width:100%;table-layout:fixed}table.data th,table.data td{padding:.65rem .55rem;font-size:.88rem;overflow-wrap:anywhere}table.data th:first-child,table.data td:first-child{width:auto}.modal-head{flex-wrap:wrap;gap:.5rem}.modal-head h2{flex:1 1 auto;min-width:0;font-size:1rem}.modal-foot.form-actions{flex-direction:column-reverse;align-items:stretch}.modal-foot.form-actions .btn{width:100%;justify-content:center}input[type=file]{width:100%;max-width:none;font-size:.88rem}.step-bar{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.25rem;scrollbar-width:thin}.step-chip{flex:0 0 auto;white-space:nowrap}.top-header-right{gap:.35rem;flex-shrink:0}.top-header-right .btn.secondary.sm{min-width:40px;padding:.35rem .55rem}.page-header>p,.page-header p{word-break:break-word}.row-actions{justify-content:flex-start}.row-actions .btn{flex:1 1 calc(50% - .2rem);justify-content:center;min-width:0}.card h2{font-size:1rem}.modal-backdrop{padding:0;align-items:stretch;place-items:stretch}.modal,.modal.wide{width:100%;max-height:100dvh;height:100dvh;border-radius:0;border:0;display:flex;flex-direction:column;min-height:0;overflow:hidden}.modal-body{flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}.modal-head,.modal-body,.modal-foot{padding-left:max(.85rem,env(safe-area-inset-left));padding-right:max(.85rem,env(safe-area-inset-right))}.modal-foot{padding-bottom:max(1rem,env(safe-area-inset-bottom))}.toast-stack{left:.75rem;right:.75rem;bottom:max(.75rem,env(safe-area-inset-bottom));width:auto}.split{gap:.75rem}.pdf-preview-actions{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.pdf-preview-actions .btn{flex:1 1 auto;justify-content:center}table.data td:last-child{white-space:normal}table.data td .btn{margin:.15rem .15rem .15rem 0}}@media(max-width:480px){.stats{grid-template-columns:1fr 1fr}.content{padding:.65rem;padding-bottom:max(.65rem,env(safe-area-inset-bottom))}.page-header h1{font-size:1.1rem}.page-header p{font-size:.85rem}.top-header-role{display:none}.top-header-title strong{font-size:.92rem}.row-actions{flex-direction:column;align-items:stretch}.row-actions .btn{width:100%;flex:none}.tabs{margin-left:-.65rem;margin-right:-.65rem;padding-left:.65rem;padding-right:.65rem}.login-card{padding:1.35rem 1.15rem 1.15rem}.badge{white-space:normal;text-align:center}}@media(max-width:360px){.stats{grid-template-columns:1fr}.top-header-right .btn{padding:.35rem .5rem;font-size:.78rem}.avatar{width:28px;height:28px}.content{padding:.5rem}.icon-btn{width:36px;height:36px}.page-header h1{font-size:1rem}}
