@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}:root{--brand-bright: #76c810;--brand-lime: #ccf895;--brand-green: #23cf7d;--brand-deep: #00493c;--surface-0: #ffffff;--surface-1: #f7f8f3;--surface-2: #eef3e7;--surface-border: #d0dbbf;--text-main: #00493c;--text-muted: #2f5f55;--text-on-dark: #f8f8f1}html{background:var(--surface-1);width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;padding:0;width:100%;max-width:100%;min-height:100vh;min-height:100dvh;overflow-x:hidden;font-family:Sora,Segoe UI,sans-serif;color:var(--text-main);background:var(--surface-1);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation}app-root{display:block;width:100%;max-width:100%;overflow-x:clip}img,svg,video{max-width:100%;height:auto}a{color:var(--brand-deep);text-decoration:none}a:hover{text-decoration:underline}.btn-primary{background:var(--brand-deep);color:#fff;border:none;padding:.48rem 1rem;border-radius:10px;cursor:pointer;font-size:.84rem;font-weight:700;font-family:inherit;display:inline-flex;align-items:center;gap:.4rem;transition:all .2s ease;box-shadow:inset 0 -3px #00493c29}.btn-primary:hover{background:#003d32;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:#ffffffdb;color:var(--brand-deep);border:1px solid var(--surface-border);padding:.45rem .95rem;border-radius:10px;cursor:pointer;font-size:.84rem;font-weight:600;font-family:inherit;display:inline-flex;align-items:center;gap:.4rem;transition:all .15s ease}.btn-secondary:hover{background:#fff;border-color:var(--brand-green)}.btn-danger{background:#ef4444;color:#fff;border:none;padding:.45rem .95rem;border-radius:8px;cursor:pointer;font-size:.84rem;font-weight:500;font-family:inherit;transition:all .15s ease}.btn-danger:hover{background:#dc2626}.btn-icon{background:none;border:none;cursor:pointer;padding:.4rem;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s ease}.btn-icon .material-symbols-outlined{font-size:1.2rem}.btn-icon:hover{color:var(--brand-deep);background:#ccf8953d}.btn-icon:disabled{opacity:.4;cursor:not-allowed}input,select,textarea{font-family:inherit;font-size:.88rem;padding:.5rem .75rem;border:1.25px solid #d7decb;border-radius:11px;width:100%;max-width:100%;box-sizing:border-box;background:#ffffffe6;color:var(--text-main);transition:border-color .2s,box-shadow .2s,background .2s}input:hover,select:hover,textarea:hover{border-color:#93aa9d;background:#fff}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand-deep);background:#fff;box-shadow:0 0 0 2px #00493c1a}input::placeholder,select::placeholder,textarea::placeholder{color:#9aa7a0}input:disabled,select:disabled,textarea:disabled{background:#f1f5f1;color:#9aa7a0;cursor:not-allowed}@media(max-width:768px){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}}select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .65rem center;background-size:12px;padding-right:2rem}input[type=checkbox]{width:1.2rem!important;height:1.2rem;flex-shrink:0;-webkit-appearance:none;appearance:none;border:2px solid #cbd5e1;border-radius:5px;background:#fff;cursor:pointer;padding:0;transition:all .15s ease;position:relative}input[type=checkbox]:checked{background:var(--brand-deep);border-color:var(--brand-deep);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:12px}input[type=checkbox]:hover{border-color:var(--brand-deep)}input[type=checkbox]:focus{box-shadow:0 0 0 3px #00493c24}input[type=radio]{width:1.2rem!important;height:1.2rem;flex-shrink:0;-webkit-appearance:none;appearance:none;border:2px solid #cbd5e1;border-radius:50%;background:#fff;cursor:pointer;padding:0;transition:all .15s ease}input[type=radio]:checked{border-color:var(--brand-deep);border-width:5px;background:#fff}input[type=radio]:hover{border-color:var(--brand-deep)}input[type=radio]:focus{box-shadow:0 0 0 3px #00493c24}input[type=file]{padding:.45rem .75rem;font-size:.82rem;background:#fff;cursor:pointer}input[type=file]::file-selector-button{background:var(--brand-deep);color:#fff;border:none;padding:.4rem .9rem;border-radius:6px;font-size:.78rem;font-weight:600;font-family:inherit;cursor:pointer;margin-right:.75rem;transition:all .15s ease}input[type=file]::file-selector-button:hover{box-shadow:0 2px 8px #23cf7d40}textarea{resize:vertical}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .6rem;border-radius:9999px;font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.badge.green{background:#dcfce7;color:#166534}.badge.gray{background:#f1f5f9;color:#64748b}.badge.blue{background:#eaf7cf;color:var(--brand-deep)}.badge.orange{background:#ffedd5;color:#9a3412}.badge.yellow{background:#fef9c3;color:#854d0e}.badge.red{background:#fee2e2;color:#991b1b}.toast{position:fixed;bottom:1.5rem;right:1.5rem;background:var(--brand-deep);color:#fff;padding:.85rem 1.5rem;border-radius:10px;font-size:.875rem;z-index:9999;box-shadow:0 8px 32px #0000002e;animation:toastSlide 2.5s ease forwards}@keyframes toastSlide{0%{opacity:0;transform:translateY(16px) scale(.96)}12%{opacity:1;transform:translateY(0) scale(1)}85%{opacity:1}to{opacity:0;transform:translateY(-8px)}}.toast-error{background:#b91c1c;animation:toastSlideLong 4.5s ease forwards}@keyframes toastSlideLong{0%{opacity:0;transform:translateY(16px) scale(.96)}8%{opacity:1;transform:translateY(0) scale(1)}90%{opacity:1}to{opacity:0;transform:translateY(-8px)}}.dialog-overlay{position:fixed;inset:0;background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:overlayIn .2s ease}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.dialog-panel{background:var(--surface-0);border-radius:24px;padding:1.75rem;width:min(480px,100vw - 1.5rem);max-width:100%;box-sizing:border-box;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);overflow-y:auto;box-shadow:0 24px 48px #00493c24;animation:dialogIn .25s ease}.dialog-panel h3{margin:0 0 .75rem;font-size:1.15rem}.dialog-panel p{margin:0 0 1rem;color:var(--text-muted);line-height:1.5}@keyframes dialogIn{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.dialog-checkbox{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.875rem;cursor:pointer}.dialog-checkbox input{width:auto}.dialog-actions{display:flex;justify-content:flex-end;gap:.5rem}.confirm-submit-approval-notice{display:flex;align-items:flex-start;gap:.5rem;padding:.7rem .85rem;border-radius:10px;background:#fff7ed;border:1px solid #fdba74;color:#9a3412;font-size:.82rem;line-height:1.45}.confirm-submit-approval-notice .material-symbols-outlined{font-size:1.2rem;flex-shrink:0;margin-top:.05rem;color:#ea580c}.draft-banner{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;background:#fffbeb;border:1px solid #fde68a;border-radius:14px}.draft-banner .material-symbols-outlined{color:#b45309}.draft-banner-text{display:flex;flex-direction:column;flex:1;min-width:0}.draft-banner-text strong{font-size:.9rem;color:#78350f}.draft-banner-text span{font-size:.78rem;color:#92400e}.btn-sm{padding:.35rem .7rem;font-size:.78rem}.link-draft-list{display:inline-flex;align-items:center;gap:.35rem;margin:0 0 1rem;padding:0;border:none;background:none;color:var(--brand-deep);font-size:.82rem;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.link-draft-list .material-symbols-outlined{font-size:1.1rem}.link-draft-list:hover{color:#003d32}.draft-saved{display:flex;align-items:center;justify-content:center;gap:.35rem;margin:.6rem 0 0;font-size:.78rem;color:var(--text-muted)}.draft-saved .material-symbols-outlined{font-size:1rem}.draft-checking{text-align:center;font-size:.85rem;color:var(--text-muted);padding:2rem 0}.draft-chooser{margin:.25rem 0 1.25rem;padding:.9rem;border:1px solid var(--surface-border);border-radius:14px;background:var(--surface-1)}.draft-chooser h3{margin:0;font-size:1.02rem;color:var(--brand-deep)}.draft-chooser-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem;padding-bottom:.7rem;border-bottom:1px solid var(--surface-border)}.draft-chooser-header>div{display:flex;align-items:center;gap:.55rem}.draft-chooser-header>div>.material-symbols-outlined{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#eaf7cf;color:var(--brand-deep);font-size:1.1rem}.draft-chooser-header p{margin:.12rem 0 0;color:var(--text-muted);font-size:.75rem}.draft-chooser-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.6rem}.draft-chooser-row{display:flex;align-items:stretch;position:relative}.draft-chooser-item{width:100%;display:flex;flex-direction:column;gap:.2rem;text-align:left;padding:.8rem 3.25rem .8rem 1rem;border-radius:12px;border:1px solid var(--surface-border);background:var(--surface-0);cursor:pointer;font:inherit;transition:all .15s}.draft-chooser-item:hover{border-color:var(--brand-green);background:var(--surface-2)}.draft-chooser-delete{position:absolute;top:50%;right:.55rem;transform:translateY(-50%);display:grid;place-items:center;width:2rem;height:2rem;border:0;border-radius:8px;background:transparent;color:#b91c1c;cursor:pointer;transition:background .15s,color .15s}.draft-chooser-delete .material-symbols-outlined{font-size:1.15rem}.draft-chooser-delete:hover{background:#fef2f2;color:#991b1b}.draft-chooser-label{font-weight:700;color:var(--brand-deep);font-size:.92rem}.draft-chooser-meta{font-size:.78rem;color:var(--text-muted)}.draft-chooser-actions{align-items:stretch;display:flex;flex-wrap:wrap;gap:.6rem}.draft-chooser-actions .btn-new-draft,.draft-chooser-actions .btn-back-forms{flex:1 1 180px;justify-content:center}.btn-new-draft{display:inline-flex;align-items:center;gap:.45rem;padding:.65rem 1.25rem;border:1px solid var(--brand-deep);border-radius:10px;background:var(--brand-deep);color:#fff;font-size:.88rem;font-weight:600;cursor:pointer}.btn-new-draft:hover{background:#003d32}.btn-new-draft .material-symbols-outlined{font-size:1.15rem}.btn-back-forms{display:inline-flex;align-items:center;gap:.45rem;padding:.65rem 1.15rem;border:1px solid var(--surface-border);border-radius:10px;background:var(--surface-0);color:var(--text-muted);font-size:.88rem;font-weight:600;cursor:pointer;text-decoration:none}.btn-back-forms:hover{border-color:var(--brand-green);color:var(--brand-deep);background:var(--surface-2)}.btn-back-forms .material-symbols-outlined{font-size:1.15rem}@media(max-width:600px){.draft-chooser{margin-top:.1rem;padding:.7rem}.draft-chooser-row{gap:.35rem}.draft-chooser-item{padding:.7rem 3rem .7rem .75rem}.draft-chooser-label{font-size:.86rem}.draft-chooser-meta{font-size:.72rem;line-height:1.35}.draft-chooser-delete{right:.45rem}.draft-chooser-actions{flex-direction:column;gap:.45rem}.draft-chooser-actions .btn-new-draft,.draft-chooser-actions .btn-back-forms{flex-basis:auto;width:100%}}.cdk-overlay-transparent-backdrop{visibility:visible!important}.lazy-select-dropdown,.lazy-ms-dropdown{background:var(--surface-0);border:1.5px solid var(--surface-border);border-radius:12px;box-shadow:0 8px 24px #00493c1f;animation:dropIn .15s ease;overflow:hidden;width:max-content;min-width:100%}.lazy-select-item,.lazy-ms-item{white-space:nowrap}.cell-select-panel .lazy-select-dropdown{max-width:min(92vw,360px)}.cell-select-panel .lazy-select-item{white-space:normal;line-height:1.3}.lazy-select-search,.lazy-ms-search{padding:.5rem;border-bottom:1px solid var(--surface-border)}.lazy-select-search input,.lazy-ms-search input{width:100%;padding:.4rem .6rem;border:1px solid var(--surface-border);border-radius:8px;font-size:.8rem;outline:none;font-family:inherit}.lazy-select-search input:focus,.lazy-ms-search input:focus{border-color:var(--brand-green)}.lazy-select-list,.lazy-ms-list{max-height:200px;overflow-y:auto;margin:0;padding:0;list-style:none}.lazy-select-item{padding:.45rem .75rem;cursor:pointer;font-size:.85rem;color:var(--text-main)}.lazy-select-item:hover{background:var(--surface-2)}.lazy-select-item.selected{background:#eaf7cf;font-weight:600}.lazy-ms-item{display:flex;align-items:center;gap:.4rem;padding:.45rem .75rem;cursor:pointer;font-size:.85rem;color:var(--text-main)}.lazy-ms-item:hover{background:var(--surface-2)}.lazy-ms-item.selected{background:#eaf7cf}.lazy-ms-check{font-size:1.1rem;color:var(--brand-green)}.lazy-select-loading,.lazy-select-empty,.lazy-ms-loading,.lazy-ms-empty{padding:.6rem .75rem;text-align:center;color:#94a3b8;font-size:.8rem}@keyframes dropIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.field-group{margin-bottom:1.1rem}.field-group .field-label{display:block;margin-bottom:.35rem;font-size:.8rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.03em}.field-group .required{color:#ef4444}.field-group .field-errors{color:#ef4444;font-size:.75rem;margin-top:.3rem}.field-group.has-error input,.field-group.has-error select,.field-group.has-error textarea{border-color:#ef4444}.page-container{max-width:1280px;margin:0 auto;padding:2rem 2rem 3rem;width:100%;box-sizing:border-box}.ds-layout{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:2rem;align-items:start}.ds-layout:not(:has(.ds-form-panel)){grid-template-columns:minmax(0,1fr)}@media(max-width:900px){.ds-layout{grid-template-columns:minmax(0,1fr)}}.ds-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.85rem;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.ds-table th,.ds-table td{padding:.7rem 1rem;text-align:left}.ds-table th{background:#f8fafc;font-weight:600;color:#475569;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid #e2e8f0}.ds-table td{border-bottom:1px solid #f1f5f9}.ds-table tbody tr{transition:background .15s ease}.ds-table tbody tr:hover{background:#f8fafc}.ds-table tbody tr:last-child td{border-bottom:none}.ds-actions{display:flex;gap:.15rem}.ds-form-panel{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:1.5rem;box-shadow:0 1px 4px #0000000a;position:sticky;top:72px}.ds-form-panel h2{margin:0 0 1.25rem;font-size:1.1rem;color:#1e293b;padding-bottom:.75rem;border-bottom:1px solid #f1f5f9}.form-actions{display:flex;gap:.5rem;margin-top:1.25rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.75rem}.dashboard-header h1{margin:0;font-size:1.6rem;font-weight:700;color:#0f172a}.admin-card{background:#fff;border:1px solid #dbe6d4;border-radius:18px;box-shadow:0 14px 36px #00493c14;padding:1.15rem;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.admin-card-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.admin-card-title{align-items:center;display:flex;gap:.75rem;min-width:0}.admin-card-icon{align-items:center;background:#eaf7cf;border:1px solid #cfe3c1;border-radius:12px;color:#005f4b;display:inline-flex;flex:0 0 auto;height:42px;justify-content:center;width:42px}.admin-card-title h1{color:#0f172a;font-size:1.45rem;margin:0}.admin-card-title p{color:#64748b;font-size:.88rem;margin:.15rem 0 0}.admin-card-toolbar{align-items:end;display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) auto;margin-bottom:.9rem}.admin-card .table-wrap{border:1px solid #e2e8f0;border-radius:12px;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-card .ds-table{box-shadow:none}.admin-card-footer{color:#64748b;font-size:.82rem;padding:.8rem .15rem 0}.empty-state,.empty-msg{text-align:center;padding:3rem 1rem;color:#94a3b8}.empty-state h2{color:#475569;font-size:1.25rem;margin:0 0 .5rem}.empty-state p{color:#94a3b8;margin:0 0 1.5rem}.toggle-row label{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem}.toggle-row label input{width:auto}.table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}@media(max-width:900px){.page-container{padding:1.5rem 1.25rem 2rem}.ds-form-panel{position:static}.dashboard-header{flex-wrap:wrap;gap:.75rem}.dashboard-header h1{font-size:1.35rem}}@media(max-width:600px){.page-container{padding:1rem .85rem 2rem}.dashboard-header{align-items:flex-start;flex-direction:column}.dashboard-header h1{font-size:1.2rem}.dashboard-header .btn-primary,.dashboard-header .btn-secondary{width:100%;justify-content:center}.admin-card{border-radius:16px;padding:.85rem}.admin-card-header,.admin-card-toolbar{align-items:stretch;display:flex;flex-direction:column}.admin-card-header .btn-primary,.admin-card-header .btn-secondary{justify-content:center;width:100%}.admin-card-title h1{font-size:1.25rem}.form-actions{flex-wrap:wrap}.form-actions .btn-primary,.form-actions .btn-secondary{flex:1 1 auto;justify-content:center}.ds-form-panel{padding:1.15rem;border-radius:12px}.ds-table{font-size:.8rem}.ds-table th,.ds-table td{padding:.55rem .6rem}.page-container>table,.page-container .ds-list>table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;max-width:100%}.dialog-panel{padding:1.25rem;border-radius:16px;min-width:0;width:min(480px,100vw - 1.5rem)}.dialog-panel h3{font-size:1.05rem}.dialog-actions{flex-wrap:wrap}.dialog-actions .btn-primary,.dialog-actions .btn-secondary,.dialog-actions .btn-danger{flex:1 1 auto;justify-content:center}.toast{left:1rem;right:1rem;bottom:1rem;text-align:center}.draft-banner{display:grid;grid-template-columns:1.35rem minmax(0,1fr);align-items:start;gap:.45rem .55rem;padding:.75rem;border-radius:12px}.draft-banner>.material-symbols-outlined{margin-top:.1rem;font-size:1.2rem}.draft-banner-text{gap:.15rem}.draft-banner-text strong{font-size:.86rem;line-height:1.25}.draft-banner-text span{font-size:.74rem;line-height:1.35}.draft-banner>button{grid-column:2;width:100%;min-height:2.35rem;justify-content:center}}@media(max-width:400px){.page-container{padding:.85rem .6rem 1.75rem}.ds-table{font-size:.75rem}}
