@import "https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap";:root{--navy-950:#0f172a;--navy-900:#1e293b;--navy-800:#334155;--ink:#0f172a;--muted:#64748b;--line:#e2e8f0d9;--paper:#fff;--page:#f8fafc;--coral:#0284c7;--coral-dark:#0369a1;--shadow:0 12px 36px -4px #0f172a0f, 0 4px 12px -2px #0f172a08;--glass-bg:#ffffffd1;--glass-bg-subtle:#ffffffb8;--glass-bg-hover:#fffffff2;--glass-border:#fffc;--glass-border-subtle:#e2e8f0bf;--glass-shadow:0 12px 32px -4px #0f172a0d, 0 4px 12px -2px #0f172a06;--glass-blur:blur(16px);--grad-primary:linear-gradient(135deg, #0284c7 0%, #0369a1 100%);--grad-primary-hover:linear-gradient(135deg, #0369a1 0%, #075985 100%);--grad-emerald:linear-gradient(135deg, #059669 0%, #047857 100%);--grad-teal:linear-gradient(135deg, #0d9488 0%, #0f766e 100%);--grad-hero:linear-gradient(135deg, #ffffffeb 0%, #f0f9ffd9 50%, #ecfdf5d9 100%);--radius-xs:8px;--radius-sm:12px;--radius-md:16px;--radius-lg:20px;--radius-xl:24px;--radius-pill:9999px}*{box-sizing:border-box}html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100%;margin:0}body{background:var(--page);color:var(--ink);text-rendering:optimizelegibility;font-family:Noto Sans TC,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15.5px;line-height:1.55}.material-symbols-outlined{letter-spacing:normal;text-transform:none;vertical-align:middle;white-space:nowrap;word-wrap:normal;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variation-settings:"FILL" 0, "wght" 450, "GRAD" 0, "opsz" 24;-webkit-user-select:none;user-select:none;direction:ltr;justify-content:center;align-items:center;font-family:Material Symbols Outlined,sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:1;display:inline-flex}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.52}.app-shell{background-color:#0000;background-image:radial-gradient(circle at 8% 12%,#bae6fd6b 0%,#0000 45%),radial-gradient(circle at 92% 10%,#a7f3d06b 0%,#0000 40%),radial-gradient(circle at 50% 95%,#fef08a2e 0%,#0000 45%),linear-gradient(145deg,#f8fafc 0%,#f1f5f9 50%,#e2e8f0 100%);background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;min-height:100vh}.topbar{color:#0f172a;-webkit-backdrop-filter:blur(16px)saturate(180%);backdrop-filter:blur(16px)saturate(180%);z-index:100;background:#ffffffd6;border-bottom:1px solid #e2e8f0d9;justify-content:space-between;align-items:center;min-height:74px;padding:12px clamp(18px,4vw,56px);display:flex;position:sticky;top:0;box-shadow:0 4px 20px -2px #0f172a0a}.brand-block,.editor-actions,.record-row-top,.records-summary,.sheet-link,.text-button,.secondary-button,.danger-button,.primary-button,.date-strip,.status-message{align-items:center;display:flex}.brand-block{gap:13px}.brand-mark{color:#0369a1;background:linear-gradient(135deg,#e0f2fe 0%,#d1fae5 100%);border:1px solid #fffc;border-radius:14px;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 4px 12px #0284c71f}.brand-mark svg{width:21px;height:21px}.eyebrow{color:#64748b;letter-spacing:.08em;text-transform:uppercase;margin:0 0 3px;font-size:11px;font-weight:700;line-height:1.2}.topbar .eyebrow{color:#64748b}.topbar h1,.panel-heading h2,.editor-toolbar h2{letter-spacing:-.02em;margin:0}.topbar h1{color:#0f172a;font-size:20px;font-weight:800}.connection-pill{color:#334155;background:#f1f5f9d9;border:1px solid #cbd5e1b3;border-radius:9999px;align-items:center;gap:8px;padding:6px 14px;font-size:12px;font-weight:600;display:inline-flex}.connection-dot,.status-led{background:#80c2a7;border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 0 3px #80c2a721}.connection-pill.demo .connection-dot,.status-message.demo .status-led{background:#e4a65b;box-shadow:0 0 0 3px #e4a65b26}.connection-pill.error .connection-dot,.status-message.error .status-led{background:#ed806c;box-shadow:0 0 0 3px #ed806c26}.workspace{grid-template-columns:minmax(260px,316px) minmax(0,1fr);gap:clamp(18px,2.5vw,34px);width:min(1480px,100% - 40px);min-height:calc(100vh - 82px);margin:0 auto;padding:28px 0 38px;display:grid}.workspace.workspace-citizen{justify-content:center;display:flex}.workspace.workspace-citizen .editor-panel{width:min(1040px,100%)}.records-panel,.editor-panel{background:#ffffffc2;border:1px solid #cddadde6;border-radius:19px;min-width:0;box-shadow:0 12px 34px #1737450f}.records-panel{flex-direction:column;min-height:675px;max-height:calc(100vh - 120px);display:flex;overflow:hidden}.panel-heading{justify-content:space-between;align-items:flex-start;padding:23px 22px 18px;display:flex}.panel-heading h2,.editor-toolbar h2{color:var(--navy-900);font-size:20px;font-weight:750}.icon-button{color:#f8fbfa;background:var(--navy-800);border:0;border-radius:10px;place-items:center;width:35px;height:35px;transition:transform .16s,background .16s;display:grid;box-shadow:0 4px 10px #1c435b2e}.icon-button:hover{background:var(--navy-950);transform:translateY(-1px)}.search-box{color:#8b9da4;background:#f3f7f7;border:1px solid #e1e9ea;border-radius:11px;align-items:center;gap:9px;margin:0 18px;padding:0 11px;display:flex}.search-box svg{flex:none;width:16px;height:16px}.search-box input{min-width:0;height:39px;color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:12px}.search-box input::placeholder{color:#99a9ae}.clear-search{color:#87979d;background:0 0;border:0;width:24px;height:24px;padding:0;font-size:18px;line-height:1}.records-summary{color:#8a9aa0;justify-content:space-between;padding:15px 21px 10px;font-size:11px}.text-button{color:var(--navy-800);background:0 0;border:0;gap:5px;padding:0;font-size:11px;font-weight:700}.text-button svg{width:14px;height:14px}.record-list{flex:1;min-height:150px;padding:3px 9px 10px;overflow-y:auto}.record-row{width:100%;color:var(--ink);text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;padding:14px 12px 13px;transition:background .16s,border-color .16s,transform .16s;display:block}.record-row:hover{background:#f1f6f5;border-color:#e0eae8;transform:translate(1px)}.record-row.selected{background:#e1f0ec;border-color:#c5e1d8}.record-row+.record-row{margin-top:3px}.record-row-top{justify-content:space-between;gap:12px}.record-row-top strong{color:var(--navy-900);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:750;overflow:hidden}.record-row-top svg{color:#90a3a6;flex:none;width:15px;height:15px}.record-row-location,.record-row-items{color:#6f8288;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:11px;line-height:1.5;display:block;overflow:hidden}.record-row-items{color:#8b9ba0;margin-top:3px;font-size:10px}.empty-records{color:#7e9095;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:25px;display:flex}.empty-icon{width:44px;height:44px;color:var(--navy-800);background:#e1efeb;border-radius:14px;place-items:center;margin-bottom:14px;display:grid}.empty-icon svg{width:21px;height:21px}.empty-records h3{color:var(--navy-900);margin:0;font-size:13px}.empty-records p{max-width:200px;margin:7px 0 0;font-size:11px;line-height:1.65}.empty-action{color:#f8fbfa;background:var(--navy-800);border:0;border-radius:9px;align-items:center;gap:6px;margin-top:16px;padding:8px 12px;font-size:11px;font-weight:700;transition:transform .16s,background .16s;display:inline-flex;box-shadow:0 4px 10px #1c435b29}.empty-action:hover{background:var(--navy-950);transform:translateY(-1px)}.empty-action svg{width:14px;height:14px}.sheet-link{min-height:53px;color:var(--navy-800);border-top:1px solid #e5ecec;gap:8px;padding:0 20px;font-size:11px;font-weight:700;text-decoration:none}.sheet-link svg:first-child{color:#68a78f;width:16px;height:16px}.sheet-link svg:last-child{color:#91a5a9;width:14px;height:14px;margin-left:auto}.editor-panel{padding:clamp(19px,3vw,30px)}.editor-form{min-width:0}.editor-toolbar{justify-content:space-between;align-items:flex-end;gap:20px;padding:0 1px 19px;display:flex}.editor-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.secondary-button,.danger-button,.primary-button{border-radius:9px;justify-content:center;gap:7px;min-height:37px;padding:0 13px;font-size:12px;font-weight:700;transition:transform .16s,box-shadow .16s,background .16s}.secondary-button:hover,.danger-button:hover,.primary-button:hover{transform:translateY(-1px)}.secondary-button{color:var(--navy-800);background:#f5f8f8;border:1px solid #d8e2e3}.secondary-button:hover{background:#eaf2f1}.danger-button{color:#b84f42;background:#fff8f6;border:1px solid #f0d9d3}.danger-button:hover{background:#fff0ec}.primary-button{color:#fff;background:var(--coral);border:1px solid var(--coral);box-shadow:0 6px 14px #e56d5233}.primary-button:hover{background:var(--coral-dark);box-shadow:0 8px 17px #c7523a40}.primary-button.submitted-success{cursor:default;background:#2b8259;border-color:#2b8259;box-shadow:0 6px 14px #2b825938}.primary-button.submitted-success:hover{background:#2b8259;transform:none;box-shadow:0 6px 14px #2b825938}.secondary-button svg,.danger-button svg,.primary-button svg{width:16px;height:16px}.date-strip{background:#f4f8f8;border:1px solid #e1e9e9;border-radius:11px;justify-content:space-between;gap:18px;min-height:60px;margin-bottom:18px;padding:11px 14px 11px 16px}.date-strip-copy{flex-direction:column;gap:3px;display:flex}.date-kicker{color:var(--navy-900);font-size:12px;font-weight:750}.date-description{color:#809096;font-size:10px}.date-strip input{width:151px;height:35px;color:var(--navy-900);background:#fff;border:1px solid #cfdcde;border-radius:8px;outline:none;padding:0 9px;font-size:12px}.date-strip input:focus{border-color:#76aa9d;box-shadow:0 0 0 3px #76aa9d24}.paper-wrap{background:#dfe8e8;border:1px solid #cedbdd;border-radius:13px;justify-content:center;min-height:600px;padding:clamp(12px,2.3vw,28px);display:flex;overflow:auto}.form-paper{aspect-ratio:1702.38/2418.32;background:var(--paper);width:min(100%,590px);box-shadow:var(--shadow);flex:none;position:relative;overflow:hidden;container-type:inline-size}.print-form-design{pointer-events:none;color:#202b31;background:#fff;width:100%;height:100%;font-family:Noto Sans TC,Microsoft JhengHei,sans-serif;display:block;position:absolute;inset:0}.print-form-border{border:1.4px solid #202b31;position:absolute;inset:3.2% 5.2%}.print-form-title{color:#202b31;letter-spacing:.26em;text-align:center;width:100%;font-size:3.25cqw;font-weight:750;line-height:1.2;position:absolute;top:5.1%;left:0}.print-form-rule{border-top:1.2px solid #202b31;position:absolute;top:9.1%;left:8%;right:8%}.print-meta-label{color:#202b31;font-size:1.75cqw;font-weight:650;line-height:1.2;position:absolute;left:8%}.print-meta-village{top:13.55%}.print-meta-address{top:16.72%}.print-meta-contact{top:19.9%}.print-meta-phone{top:23.08%}.print-meta-date{top:71.65%}.print-meta-line{border-bottom:1px solid #55636a;position:absolute}.print-line-village{top:16.75%;left:25.5%;right:10%}.print-line-address{top:19.92%;left:25.5%;right:10%}.print-line-contact{top:23.1%;left:25.5%;right:10%}.print-line-phone{top:26.28%;left:29.5%;right:14%}.print-items-heading{color:#202b31;border-bottom:1.2px solid #202b31;padding-bottom:.8%;font-size:1.8cqw;font-weight:700;position:absolute;top:28.2%;left:8%;right:8%}.print-items-box{position:absolute;inset:0}.print-items-box:before{content:"";border:1.2px solid #202b31;height:20.7%;position:absolute;top:29.2%;left:8%;right:8%}.print-item-label{color:#202b31;white-space:nowrap;align-items:flex-end;gap:1.4%;height:2.8%;font-size:1.55cqw;line-height:1;display:flex;position:absolute}.print-item-label.left{width:35%;left:8%}.print-item-label.right{width:43%;left:45%}.print-item-label span{min-width:7em}.print-item-label i{border-bottom:1px solid #68757a;flex:1;min-width:9%;display:block}.print-date-guide{color:#202b31;white-space:pre;width:58%;font-size:1.55cqw;line-height:1;position:absolute;top:72.45%;left:30%}.print-form-footer-rule{border-top:1px solid #68757a;position:absolute;top:78%;left:8%;right:8%}.paper-input{z-index:2;color:#29222d;white-space:nowrap;text-overflow:clip;-webkit-appearance:none;appearance:none;background:0 0;border:0;border-radius:2px;outline:none;padding:0;font-family:PMingLiU,MingLiU,Noto Serif CJK TC,serif;font-size:1.55cqw;font-weight:500;line-height:1;display:block;position:absolute;overflow:hidden}.paper-input:focus{background:#ddefebb8;box-shadow:0 0 0 1px #3e826f99}.paper-quantity-input{text-align:center;font-size:1.48cqw}.paper-quantity-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.paper-quantity-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.paper-check{z-index:3;color:#26212b;pointer-events:none;width:2.2cqw;height:2.2cqw;font-family:Arial,sans-serif;font-size:2.05cqw;font-weight:700;line-height:.98;display:block;position:absolute}.paper-date-text{z-index:2;color:#29222d;text-align:center;height:2.7%;font-family:PMingLiU,MingLiU,Noto Serif CJK TC,serif;font-size:1.55cqw;line-height:1;display:block;position:absolute}.paper-date-year{width:8%;top:73.25%;left:40.55%}.paper-date-month{width:6.5%;top:73.25%;left:58.2%}.paper-date-day{width:6.5%;top:73.25%;left:77.2%}.form-paper{aspect-ratio:1702.38/2418.32;width:min(100%,760px);box-shadow:none;background:#fff;border:0;border-radius:0;overflow:hidden}.screen-form{padding:clamp(20px,3vw,32px)}.screen-form-intro{border-bottom:1px solid #e4eceb;justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:23px;display:flex}.screen-form-kicker{color:#71a293;letter-spacing:.14em;margin:0 0 6px;font-size:10px;font-weight:800}.screen-form-intro h3{color:var(--navy-900);letter-spacing:-.04em;margin:0;font-size:clamp(21px,2.5vw,27px)}.screen-form-intro p:last-child{color:#819297;margin:8px 0 0;font-size:12px}.screen-item-count{color:#4d8272;background:#edf7f3;border:1px solid #d4ebe2;border-radius:12px;flex:none;align-items:baseline;gap:5px;padding:9px 12px;display:flex}.screen-item-count strong{font-size:22px;line-height:1}.screen-item-count span{font-size:11px;font-weight:700}.screen-section-title{justify-content:space-between;align-items:baseline;gap:14px;margin:24px 0 12px;display:flex}.screen-section-title>span{color:var(--navy-900);font-size:13px;font-weight:800}.screen-section-title small{color:#91a0a4;font-size:10px}.screen-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.screen-field{flex-direction:column;gap:7px;min-width:0;display:flex}.screen-field-wide{grid-column:1/-1}.screen-field>span{color:#597078;font-size:11px;font-weight:750}.screen-field input,.screen-field select{width:100%;height:43px;color:var(--navy-900);background:#fbfdfc;border:1px solid #d7e3e1;border-radius:10px;outline:none;padding:0 13px;font-size:13px;transition:border-color .16s,box-shadow .16s,background .16s}.screen-field select{-webkit-appearance:none;appearance:none;cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,#78a294 50%),linear-gradient(135deg,#78a294 50%,#0000 50%);background-position:calc(100% - 17px) 18px,calc(100% - 12px) 18px;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:36px}.screen-field input::placeholder{color:#b0bdbf}.screen-field input:focus,.screen-field select:focus{background:#fff;border-color:#78ad9d;box-shadow:0 0 0 3px #78ad9d24}.screen-items-title{margin-top:29px}.screen-item-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.screen-item{background:#f8fbfa;border:1px solid #e0eae8;border-radius:11px;grid-template-columns:20px minmax(0,1fr) 62px auto;align-items:center;gap:8px;min-height:54px;padding:8px 10px;transition:background .16s,border-color .16s,box-shadow .16s;display:grid}.screen-item:hover,.screen-item.active{background:#eef8f4;border-color:#b9ddd0;box-shadow:0 4px 10px #39736112}.screen-item-check{color:#fff;background:#fff;border:1px solid #c7d7d3;border-radius:6px;place-items:center;width:19px;height:19px;font-family:Arial,sans-serif;font-size:12px;font-weight:800;display:grid}.screen-item.active .screen-item-check{background:#63a58f;border-color:#63a58f}.screen-item-name{color:#36535d;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.screen-item input{width:62px;height:34px;color:var(--navy-900);text-align:center;background:#fff;border:1px solid #cfddda;border-radius:8px;outline:none;padding:0 7px;font-size:13px}.screen-item input:focus{border-color:#78ad9d;box-shadow:0 0 0 3px #78ad9d24}.screen-item input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.screen-item input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.screen-item-unit{color:#8b9ca0;font-size:10px}.screen-form-hint{color:#71868b;background:#f5f9f8;border-radius:9px;margin:17px 0 0;padding:10px 12px;font-size:10px;line-height:1.6}.pdf-form{color:#202020;font-family:PMingLiU,MingLiU,Noto Serif CJK TC,serif;position:absolute;inset:0}.pdf-form-title{letter-spacing:.24em;text-align:center;width:100%;margin:0;font-size:3.55cqw;font-weight:600;line-height:1.15;position:absolute;top:8.15%;left:0}.pdf-title-rule{border-top:1px solid #202020;position:absolute;top:11.85%;left:15.2%;right:15.2%}.pdf-field{white-space:nowrap;align-items:center;height:3.35%;margin:0;font-size:2.6cqw;line-height:1;display:flex;position:absolute;left:15%;right:9%}.pdf-field-village{top:14.35%}.pdf-field-address{top:18.15%}.pdf-field-contact{top:21.95%}.pdf-field-phone{top:25.75%}.pdf-field-label{flex:none}.pdf-control,.pdf-print-value{min-width:0;height:100%;color:inherit;font:inherit;flex:auto;margin-left:1.2cqw;padding:0;line-height:1}.pdf-control{background:0 0;border:0;border-bottom:1px dotted #20202047;border-radius:0;outline:none}.pdf-control:focus{background:#e8efeb99;border-bottom-color:#202020}.pdf-village-control{cursor:pointer;min-width:0}.pdf-print-value{white-space:nowrap;align-items:center;display:none;overflow:hidden}.pdf-items-heading{margin:0;font-size:2.55cqw;font-weight:500;line-height:1;position:absolute;top:31.5%;left:15%}.pdf-item-grid{grid-template-rows:repeat(5,minmax(0,1fr));height:14.9%;display:grid;position:absolute;top:34.45%;left:14.7%;right:11.5%}.pdf-item-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:4.3%;min-width:0;display:grid}.pdf-item{white-space:nowrap;align-items:center;min-width:0;margin:0;font-size:2.45cqw;line-height:1;display:flex}.pdf-item-check{-webkit-appearance:none;appearance:none;cursor:pointer;background:0 0;border:1px solid;border-radius:0;flex:0 0 2.5cqw;width:2.5cqw;height:2.5cqw;margin:0 1cqw 0 0;padding:0}.pdf-item-check:checked{place-items:center;display:grid}.pdf-item-check:checked:after{content:"✓";font-family:Arial,sans-serif;font-size:1.9cqw;font-weight:700;line-height:1}.pdf-item-label{flex:none}.pdf-quantity-input{width:10cqw;min-width:0;height:2.7cqw;color:inherit;font:inherit;text-align:center;-webkit-appearance:textfield;appearance:textfield;background:0 0;border:0;border-bottom:1px solid;border-radius:0;outline:none;flex:0 0 10cqw;margin-left:.7cqw;padding:0;font-size:2.35cqw;line-height:1}.pdf-quantity-input:focus{background:#e8efeb99}.pdf-quantity-input::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}.pdf-quantity-input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.pdf-item-empty{display:block}.pdf-notes{font-size:1.95cqw;line-height:1.58;position:absolute;top:50.15%;left:14.8%;right:8.6%}.pdf-note{grid-template-columns:4.3% minmax(0,1fr);column-gap:1%;margin:0;display:grid}.pdf-note-three-lines{margin-bottom:2.9cqw}.pdf-note-one-line{margin-bottom:.8cqw}.pdf-note-two-lines{margin-bottom:1.4cqw}.pdf-bullet{padding-top:.05em;font-family:Segoe UI Symbol,Arial Unicode MS,sans-serif}.pdf-date-picker{cursor:pointer;height:4.2%;margin:0;position:absolute;top:69.5%;left:15%;right:10.5%}.pdf-date-text{white-space:nowrap;align-items:center;font-size:2.75cqw;line-height:1;display:flex;position:absolute;inset:0}.pdf-date-prefix{flex:none}.pdf-date-part{border-bottom:1px dotted #20202047;justify-content:center;align-items:center;width:7.5cqw;height:100%;margin-left:7cqw;display:inline-flex}.pdf-date-part~.pdf-date-part{margin-left:10cqw}.pdf-date-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.print-paper{background:#fff;width:100%;height:100%;display:none;position:relative;overflow:hidden}.print-paper-template{object-fit:fill;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0}.print-paper-overlay{color:#1e2022;pointer-events:none;font-family:PMingLiU,MingLiU,Noto Serif CJK TC,serif;position:absolute;inset:0}.print-pdf-value,.print-pdf-quantity,.print-pdf-date{z-index:1;white-space:nowrap;text-overflow:clip;align-items:center;height:2.7%;font-size:2.2cqw;font-weight:500;line-height:1;display:flex;position:absolute;overflow:hidden}.print-pdf-village{width:66%;top:14.3%;left:26.8%}.print-pdf-address{width:66%;top:18.1%;left:26.8%}.print-pdf-contact{width:66%;top:21.9%;left:26.8%}.print-pdf-phone{width:59%;top:25.7%;left:33.6%}.print-pdf-check{z-index:2;color:#1f2022;justify-content:center;align-items:center;width:2.6%;height:2.8%;font-family:Arial,sans-serif;font-size:2.25cqw;font-weight:700;line-height:1;display:flex;position:absolute}.print-pdf-check.left{left:14.7%}.print-pdf-check.right{left:46.4%}.print-pdf-quantity{text-align:center;justify-content:center;font-size:2.05cqw}.print-pdf-quantity.left{width:11.2%;left:35.6%}.print-pdf-quantity.right{width:11%;left:67.5%}.print-pdf-date{text-align:center;justify-content:center;height:3.1%;font-size:2.25cqw;top:69.6%}.print-pdf-date-year{width:7%;left:36.5%}.print-pdf-date-month{width:7%;left:53%}.print-pdf-date-day{width:7%;left:73%}.editor-footer{justify-content:space-between;align-items:flex-start;gap:18px;padding:13px 1px 0;display:flex}.status-message{color:#6f8389;gap:8px;min-width:0;font-size:11px;line-height:1.5}.status-message.connected .status-led{background:#65ab8c}.status-message.loading .status-led{background:#94adb2;box-shadow:0 0 0 3px #94adb226}.paper-help{color:#8a9ba0;text-align:right;margin:0;font-size:10px;line-height:1.55}@media (max-width:1050px){.workspace{grid-template-columns:1fr}.records-panel{min-height:0;max-height:340px}.record-list{min-height:90px}.empty-records{min-height:190px}}@media (max-width:620px){.topbar{align-items:flex-start;gap:14px;padding:15px 18px}.topbar h1{font-size:18px}.connection-pill{padding:7px 9px;font-size:10px}.workspace{width:calc(100% - 20px);padding-top:10px}.editor-panel{border-radius:15px;padding:15px 11px 18px}.editor-toolbar{flex-direction:column;align-items:flex-start;gap:13px}.editor-actions{justify-content:flex-start;width:100%}.secondary-button,.danger-button,.primary-button{flex:auto;padding:0 9px;font-size:11px}.date-strip{flex-direction:column;align-items:flex-start;gap:8px;padding:12px}.date-strip input{width:100%}.paper-wrap{min-height:0;padding:8px}.editor-footer{flex-direction:column;gap:7px}.paper-help{text-align:left}}@media print{@page{size:A4 portrait;margin:0}html,body{width:210mm;min-height:297mm;background:#fff!important;margin:0!important}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}.app-shell,.workspace,.editor-panel,.editor-form{width:auto;min-height:0;box-shadow:none;border:0;margin:0;padding:0;display:block;background:#fff!important}.topbar,.records-panel,.editor-toolbar,.date-strip,.editor-footer,.portal-view,.admin-view,.admin-lock-screen,.modal-backdrop,.mobile-bottom-nav{display:none!important}.paper-wrap{background:#fff;border:0;min-height:0;padding:0;display:block;overflow:visible}.form-paper{width:210mm;height:297mm;box-shadow:none;break-inside:avoid;margin:0}.paper-input,.paper-date-text{box-shadow:none!important;background:0 0!important;outline:none!important}}@media (max-width:760px){.screen-item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.screen-form{padding:20px 15px}.screen-form-intro{align-items:flex-start}.screen-form-intro p:last-child{font-size:11px;line-height:1.5}.screen-field-grid,.screen-item-grid{grid-template-columns:1fr}.screen-field-wide{grid-column:auto}.screen-section-title{flex-direction:column;align-items:flex-start;gap:4px}.screen-item{grid-template-columns:20px minmax(0,1fr) 68px auto}}@media print{.screen-form{display:none!important}.pdf-control{box-shadow:none!important;background:0 0!important;border-bottom-color:#0000!important}.pdf-village-control{display:none!important}.pdf-print-value{border-bottom:0;display:flex!important}.pdf-date-input{display:none}.pdf-date-part{border-bottom:0}.print-paper{width:100%;height:100%;min-height:0;box-shadow:none;break-inside:avoid;margin:0;padding:0;display:block!important}.form-paper{border:0;border-radius:0;overflow:hidden}}.topbar-nav{align-items:center;gap:16px;display:flex}.back-to-portal-btn{color:#1e293b;white-space:nowrap;background:#ffffffe6;border:1px solid #cbd5e1cc;border-radius:9999px;align-items:center;gap:8px;padding:8px 16px;font-size:13.5px;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 2px 6px #0f172a0a}.back-to-portal-btn:hover{color:#0284c7;background:linear-gradient(135deg,#f0fdf4 0%,#e0f2fe 100%);border-color:#93c5fd;transform:translate(-3px);box-shadow:0 4px 12px #0284c726}.topbar-divider{background:#e2e8f0e6;width:1px;height:28px}.topbar-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.topbar-action-btn{color:#1e293b;cursor:pointer;white-space:nowrap;background:#ffffffe0;border:1px solid #cbd5e1cc;border-radius:9999px;align-items:center;gap:6px;padding:8px 15px;font-size:13px;font-weight:600;transition:all .18s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 2px 6px #0f172a08}.topbar-action-btn:hover{color:#0284c7;background:linear-gradient(135deg,#f0fdf4 0%,#e0f2fe 100%);border-color:#93c5fd;transform:translateY(-1px);box-shadow:0 4px 12px #0284c71f}.topbar-action-btn.active{color:#fff;background:linear-gradient(135deg,#0284c7 0%,#0369a1 100%);border-color:#0000;font-weight:700;box-shadow:0 4px 14px #0284c747}.count-badge{color:#fff;background:linear-gradient(135deg,#ea580c 0%,#c2410c 100%);border-radius:9999px;justify-content:center;align-items:center;padding:2px 8px;font-size:11.5px;font-weight:800;line-height:1.2;display:inline-flex}.notification-bell-wrap{position:relative}.notification-bell-btn{color:#1e293b;cursor:pointer;background:#f8fafce6;border:1px solid #cbd5e1cc;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative;box-shadow:0 2px 6px #0f172a0a}.notification-bell-btn:hover,.notification-bell-btn.active{color:#0284c7;background:linear-gradient(135deg,#f0fdf4 0%,#e0f2fe 100%);border-color:#93c5fd;transform:scale(1.05);box-shadow:0 4px 14px #0284c726}.notification-badge-num{color:#fff;background:linear-gradient(135deg,#ea580c 0%,#c2410c 100%);border:2px solid #fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:800;animation:.4s badgeBounce;display:flex;position:absolute;top:-3px;right:-3px;box-shadow:0 2px 6px #ea580c59}@keyframes badgeBounce{0%{transform:scale(.4)}60%{transform:scale(1.2)}to{transform:scale(1)}}.notification-drawer{border:1px solid var(--line);z-index:1000;background:#fff;border-radius:20px;flex-direction:column;width:min(420px,92vw);max-height:82vh;animation:.18s fadeIn;display:flex;position:absolute;top:calc(100% + 12px);right:0;overflow:hidden;box-shadow:0 16px 48px #0d21303d}.notification-drawer-header{border-bottom:1px solid var(--line);background:linear-gradient(135deg,#f7fafb,#edf4f6);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.notification-drawer-title{color:var(--navy-950);align-items:center;gap:8px;margin:0;font-size:16px;font-weight:800;display:flex}.notification-drawer-actions{align-items:center;gap:8px;display:flex}.notification-action-link{color:#17658c;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:12.5px;font-weight:700}.notification-action-link:hover{background:#17658c14}.notification-settings-bar{color:#8c5806;background:#fff8e8;border-bottom:1px solid #f6e6be;justify-content:space-between;align-items:center;padding:10px 18px;font-size:12.5px;display:flex}.notification-list{flex-direction:column;gap:8px;max-height:52vh;padding:10px;display:flex;overflow-y:auto}.notification-item{text-align:left;width:100%;font:inherit;cursor:pointer;background:#f8fafb;border:1px solid #e7eff2;border-radius:14px;flex-direction:column;gap:4px;padding:13px 15px;transition:all .15s;display:flex}.notification-item:hover{background:#edf5f8;border-color:#cde0e6;transform:translateY(-1px)}.notification-item.unread{background:#f0f8fb;border-color:#b7dbe6 #b7dbe6 #b7dbe6 #1c729e;border-left-style:solid;border-left-width:4px}.notification-item-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.notification-item-title{color:var(--navy-950);font-size:14.5px;font-weight:800}.notification-item-time{color:#7b8f99;font-size:11.5px}.notification-item-msg{color:#4a5e68;margin:0;font-size:13.5px;line-height:1.45}.notification-empty{text-align:center;color:#79909c;flex-direction:column;align-items:center;gap:10px;padding:42px 20px;display:flex}.portal-view{max-width:1320px;min-height:calc(100vh - 82px);margin:0 auto;padding:clamp(24px,4vw,44px) clamp(20px,4vw,64px) 80px}.portal-hero{-webkit-backdrop-filter:blur(16px)saturate(180%);backdrop-filter:blur(16px)saturate(180%);background:linear-gradient(135deg,#ffffffe0 0%,#f8fafcc2 100%);border:1px solid #ffffffd9;border-radius:24px;margin-bottom:32px;padding:clamp(28px,4vw,44px);position:relative;overflow:hidden;box-shadow:0 16px 40px -10px #0f172a0d,0 2px 6px #0f172a05}.portal-hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#0ea5e926 0%,#10b9811f 50%,#0000 70%);width:420px;height:420px;position:absolute;top:-30%;right:-8%}.portal-hero-badge{color:#0369a1;letter-spacing:.04em;background:linear-gradient(135deg,#f0fdf4 0%,#e0f2fe 100%);border:1px solid #bae6fdcc;border-radius:9999px;align-items:center;gap:6px;margin-bottom:14px;padding:6px 14px;font-size:12px;font-weight:700;display:inline-flex;box-shadow:0 2px 6px #0284c714}.portal-hero-title{color:#0f172a;letter-spacing:-.03em;margin:0 0 12px;font-size:clamp(24px,3.2vw,34px);font-weight:800;line-height:1.25}.portal-hero-desc{color:#64748b;max-width:760px;margin:0 0 26px;font-size:15px;line-height:1.65}.portal-stats-grid{border-top:1px solid #e2e8f0d9;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;padding-top:22px;display:grid}.portal-stat-item{flex-direction:column;gap:3px;display:flex}.portal-stat-value{color:#0f172a;align-items:baseline;gap:4px;font-size:24px;font-weight:800;display:flex}.portal-stat-unit{color:#64748b;font-size:13px;font-weight:600}.portal-stat-label{color:#64748b;font-size:12px;font-weight:600}.portal-filter-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.portal-tabs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.portal-tab{color:#475569;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffc7;border:1px solid #e2e8f0bf;border-radius:9999px;justify-content:center;align-items:center;min-height:42px;padding:9px 18px;font-size:14px;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.portal-tab:hover{color:#0f172a;background:#fffffff2;border-color:#cbd5e1;transform:translateY(-1px)}.portal-tab.active{color:#fff;background:linear-gradient(135deg,#0284c7 0%,#0369a1 100%);border-color:#0000;box-shadow:0 6px 18px #0284c747}.portal-search-wrap{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe0;border:1px solid #cbd5e1cc;border-radius:9999px;align-items:center;gap:10px;width:100%;max-width:320px;min-height:44px;padding:8px 16px;transition:border-color .2s,box-shadow .2s;display:flex;box-shadow:0 2px 6px #0f172a08}.portal-search-wrap:focus-within{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf833}.portal-search-input{color:#0f172a;background:0 0;border:none;outline:none;width:100%;font-size:14px}.portal-search-input::placeholder{color:#94a3b8}.portal-cards-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:24px;display:grid}.activity-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(135deg,#ffffffeb 0%,#ffffffc7 100%);border:1px solid #ffffffd9;border-radius:22px;flex-direction:column;justify-content:space-between;padding:28px;transition:transform .24s cubic-bezier(.16,1,.3,1),box-shadow .24s,border-color .24s;display:flex;position:relative;box-shadow:0 10px 30px -5px #0f172a0a,0 4px 10px -2px #0f172a05}.activity-card:hover{border-color:#bae6fde6;transform:translateY(-5px);box-shadow:0 20px 45px -8px #0f172a17,0 8px 16px -4px #0f172a0a}.activity-card.active-card{background:linear-gradient(135deg,#fff 0%,#f0fdf4 100%);border-color:#a7f3d0e6}.activity-card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.activity-dept-badge{color:#475569;background:#f1f5f9d9;border:1px solid #e2e8f0cc;border-radius:9999px;padding:5px 12px;font-size:11.5px;font-weight:700}.activity-status-badge{border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.activity-status-badge.active{color:#1c7a4d;background:#e3f7ec;border:1px solid #b3e6c9}.activity-status-badge.upcoming{color:#9a6500;background:#fef7e6;border:1px solid #f9e2aa}.activity-status-badge.planning{color:#6c7f89;background:#f1f4f6;border:1px solid #dce4e7}.activity-title-group{align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.activity-icon-wrap{border-radius:14px;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.activity-icon-wrap.cleaning{color:#176555;background:#e4f3f0}.activity-icon-wrap.works{color:#985b0d;background:#fef0db}.activity-icon-wrap.social{color:#af2b2b;background:#fde8e8}.activity-icon-wrap svg{width:24px;height:24px}.activity-title{color:var(--navy-950);margin:0 0 4px;font-size:19px;font-weight:700;line-height:1.3}.activity-desc{color:#5d717d;margin:0 0 16px;font-size:13.5px;line-height:1.6}.activity-tags{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.activity-tag{color:#4b6672;background:#f0f5f6;border:1px solid #e2ebed;border-radius:6px;padding:3px 9px;font-size:11.5px;font-weight:600}.activity-footer{border-top:1px solid #edf2f4;justify-content:space-between;align-items:center;gap:12px;padding-top:18px;display:flex}.activity-meta-text{color:#7e949f;flex-direction:column;gap:2px;font-size:12px;display:flex}.activity-action-btn{white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:13.5px;font-weight:700;transition:all .2s;display:inline-flex}.activity-action-btn.primary{background:var(--navy-900);color:#fff;border:none;box-shadow:0 4px 14px #12314633}.activity-action-btn.primary:hover{background:var(--navy-950);transform:translateY(-2px);box-shadow:0 6px 18px #1231464d}.activity-action-btn.disabled{color:#8c9fa8;cursor:not-allowed;opacity:.8;background:#edf2f4;border:1px solid #dce4e7}.portal-empty-state{border:1px dashed var(--line);text-align:center;color:var(--muted);background:#fff;border-radius:20px;grid-column:1/-1;padding:56px 24px}.admin-view{max-width:1440px;min-height:calc(100vh - 82px);margin:0 auto;padding:clamp(20px,3.5vw,36px) clamp(20px,3.5vw,56px) 80px}.admin-header-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.admin-title-wrap h2{color:var(--navy-950);margin:0 0 4px;font-size:clamp(22px,2.5vw,28px);font-weight:800}.admin-title-wrap p{color:var(--muted);margin:0;font-size:14px}.admin-actions-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:24px;display:grid}.admin-kpi-card{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:6px;padding:16px 20px;transition:transform .18s;display:flex;box-shadow:0 4px 16px #1231460a}.admin-kpi-card:hover{transform:translateY(-2px)}.admin-kpi-label{color:#728691;text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:700}.admin-kpi-num{color:var(--navy-950);align-items:baseline;gap:4px;font-size:26px;font-weight:800;display:flex}.admin-kpi-num.pending{color:#c47d06}.admin-kpi-num.confirmed{color:#1c6ba0}.admin-kpi-num.processing{color:#cf5e17}.admin-kpi-num.completed{color:#1e8755}.admin-kpi-num.archived{color:#6b7f8c}.admin-controls-card{border:1px solid var(--line);background:#fff;border-radius:18px;flex-direction:column;gap:16px;margin-bottom:20px;padding:18px 22px;display:flex;box-shadow:0 4px 18px #12314608}.admin-tabs-row{border-bottom:1px solid #edf2f4;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;display:flex}.admin-status-tabs{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.admin-tab-btn{color:#5b6f7c;background:#f1f6f7;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:700;transition:all .15s;display:flex}.admin-tab-btn:hover{color:var(--ink);background:#e3edf0}.admin-tab-btn.active{background:var(--navy-900);color:#fff}.admin-filters-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-filter-left{flex-wrap:wrap;flex:1;align-items:center;gap:10px;display:flex}.admin-select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;outline:none;padding:8px 14px;font-size:13.5px}.admin-search-input-wrap{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:8px;min-width:240px;padding:7px 12px;display:flex}.admin-search-input-wrap input{border:none;outline:none;width:100%;font-size:13.5px}.batch-archive-btn{color:#9c6003;background:#fef7e7;border:1px solid #f6deb0;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:12.5px;font-weight:700;transition:all .18s;display:inline-flex}.batch-archive-btn:hover{background:#fcefd0;transform:translateY(-1px)}.admin-records-list{flex-direction:column;gap:16px;display:flex}.admin-record-card{border:1px solid var(--line);background:#fff;border-radius:18px;flex-direction:column;gap:16px;padding:22px;transition:border-color .2s,box-shadow .2s;display:flex;box-shadow:0 4px 18px #1231460a}.admin-record-card:hover{border-color:#b5cdd3;box-shadow:0 8px 28px #12314614}.admin-record-card.archived-card{opacity:.88;background:#fbfdfd}.admin-record-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-applicant-main{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.admin-applicant-name{color:var(--navy-950);font-size:20px;font-weight:800}.admin-applicant-phone{color:#106399;background:#e9f4fb;border:1px solid #c7e3f4;border-radius:8px;padding:4px 12px;font-size:15px;font-weight:700;text-decoration:none}.admin-applicant-phone:hover{background:#d8edf8;text-decoration:underline}.admin-applicant-location{color:#485f6a;font-size:15px}.admin-badges-wrap{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.status-badge{border-radius:999px;align-items:center;gap:6px;padding:5px 14px;font-size:13px;font-weight:800;display:inline-flex}.status-badge.pending{color:#a46503;background:#fff8e6;border:1px solid #fae2a5}.status-badge.confirmed{color:#106399;background:#e9f4fb;border:1px solid #bde0f5}.status-badge.processing{color:#b84a08;background:#fef0e7;border:1px solid #f9d1bb}.status-badge.completed{color:#177a49;background:#e7f7ed;border:1px solid #b7e6cc}.status-badge.archived{color:#637782;background:#f0f3f5;border:1px solid #d8e0e4}.archive-eligible-tag{color:#985b00;background:#fef3d6;border:1px solid #f7dfa2;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:11.5px;font-weight:700;display:inline-flex}.admin-record-items-row{background:#f8fafb;border:1px solid #ecf1f3;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;display:flex}.admin-items-label{color:#556c78;font-size:14px;font-weight:700}.admin-item-pill{color:var(--navy-900);background:#fff;border:1px solid #d3e0e4;border-radius:8px;padding:5px 12px;font-size:14.5px;font-weight:700}.admin-record-bottom{border-top:1px solid #edf2f4;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding-top:14px;display:flex}.admin-notes-section{flex:1;align-items:center;gap:10px;min-width:280px;display:flex}.admin-notes-input{border:1px solid var(--line);border-radius:9px;outline:none;width:100%;max-width:480px;padding:9px 14px;font-size:14px}.admin-notes-input:focus{border-color:#84b3c4}.admin-actions-cell{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.status-change-select{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:9px;padding:8px 14px;font-size:14px;font-weight:700}.admin-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:9px;align-items:center;gap:6px;min-height:40px;padding:8px 15px;font-size:14px;font-weight:700;transition:all .15s;display:inline-flex}.admin-btn.secondary{color:var(--navy-900);background:#f1f6f8;border-color:#d6e2e6}.admin-btn.secondary:hover{background:#e2edf0}.admin-btn.primary{background:var(--navy-900);color:#fff}.admin-btn.primary:hover{background:var(--navy-950)}.admin-btn.archive{color:#556c78;background:#edf3f5}.admin-btn.archive:hover{background:#dbe6ea}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0d213099;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-dialog{background:#fff;border-radius:22px;flex-direction:column;gap:20px;width:100%;max-width:620px;max-height:90vh;padding:28px;display:flex;overflow-y:auto;box-shadow:0 24px 64px #0d213047}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.modal-header h3{color:var(--navy-950);margin:0;font-size:20px;font-weight:800}.modal-close-btn{color:#8da2ad;cursor:pointer;background:0 0;border:none;font-size:24px;line-height:1}.modal-close-btn:hover{color:var(--ink)}.modal-body{flex-direction:column;gap:18px;display:flex}.setting-group{flex-direction:column;gap:6px;display:flex}.setting-label{color:var(--navy-950);font-size:13.5px;font-weight:700}.setting-input{border:1px solid var(--line);color:var(--ink);border-radius:10px;outline:none;padding:10px 14px;font-size:13.5px}.setting-input:focus{border-color:#84b3c4;box-shadow:0 0 0 3px #84b3c433}.setting-help{color:var(--muted);font-size:12px;line-height:1.5}.test-status-box{border-radius:10px;align-items:center;gap:8px;padding:12px 16px;font-size:13px;font-weight:600;display:flex}.test-status-box.success{color:#177a49;background:#e6f7ec;border:1px solid #b7e6cc}.test-status-box.error{color:#b32626;background:#fdeeee;border:1px solid #f9c6c6}.test-status-box.testing{color:#1a6f9f;background:#edf5fa;border:1px solid #c7e3f4}.modal-guide{border:1px solid var(--line);background:#f8fafb;border-radius:12px;padding:14px 18px}.modal-guide summary{color:var(--navy-900);cursor:pointer;font-size:13px;font-weight:700}.modal-guide-content{color:#5d717d;margin-top:10px;font-size:12px;line-height:1.6}.modal-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:18px;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.admin-lock-screen{justify-content:center;align-items:center;min-height:calc(80vh - 100px);padding:40px 20px;display:flex}.admin-lock-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:20px;width:100%;max-width:440px;padding:36px 32px;animation:.25s ease-out fadeIn;box-shadow:0 16px 40px #12314614}.admin-lock-icon{width:54px;height:54px;color:var(--navy-950);background:#f1f6f8;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.admin-lock-card h2{color:var(--navy-950);margin:0 0 8px;font-size:20px;font-weight:800}.admin-lock-card p{color:var(--muted);margin:0 0 24px;font-size:13.5px;line-height:1.5}.admin-lock-form{flex-direction:column;display:flex}.portal-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:48px;padding:24px 0 36px;font-size:13px;display:flex}.footer-admin-link{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:12.5px;transition:all .15s;display:inline-flex}.footer-admin-link:hover{color:var(--navy-950);background:#1231460f}.manifest-modal-backdrop{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172aa6;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.manifest-modal-container{background:#f8fafc;border-radius:16px;flex-direction:column;width:100%;max-width:1100px;max-height:92vh;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.manifest-top-toolbar{border-bottom:1px solid var(--line);background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.manifest-toolbar-left{flex-direction:column;gap:4px;display:flex}.manifest-toolbar-right{align-items:center;gap:10px;display:flex}.manifest-filter-card{border-bottom:1px solid var(--line);background:#f1f5f9;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:16px;padding:12px 24px;display:flex}.manifest-filter-group{align-items:center;gap:6px;display:flex}.manifest-filter-label{color:#475569;white-space:nowrap;font-size:13px;font-weight:600}.manifest-filter-input,.manifest-filter-select{color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;padding:6px 10px;font-size:13px}.manifest-filter-input:focus,.manifest-filter-select:focus{border-color:var(--primary);box-shadow:0 0 0 2px #1e875533}.manifest-sheet-wrap{background:#e2e8f0;flex:1;justify-content:center;padding:24px;display:flex;overflow-y:auto}.manifest-print-sheet{color:#0f172a;width:100%;max-width:980px;font-family:var(--font-noto-serif), serif, "Microsoft JhengHei", sans-serif;background:#fff;padding:36px 40px;box-shadow:0 4px 16px #00000014}.manifest-header-block{text-align:center;border-bottom:2px solid #000;margin-bottom:14px;padding-bottom:12px}.manifest-gov-title{letter-spacing:2px;color:#334155;font-size:16px;font-weight:600}.manifest-main-title{letter-spacing:3px;color:#000;margin:6px 0 10px;font-size:22px;font-weight:700}.manifest-meta-row{color:#1e293b;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:4px;font-size:13px;display:flex}.manifest-summary-box{background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;flex-wrap:wrap;gap:12px;margin-bottom:14px;padding:10px 14px;font-size:12.5px;display:flex}.manifest-summary-item{color:#334155}.manifest-summary-item strong{color:#0f172a}.manifest-summary-item.highlight{color:#b91c1c;margin-left:auto;font-weight:700}.manifest-summary-item.highlight strong{color:#b91c1c;font-size:14px}.manifest-table{border-collapse:collapse;width:100%;margin-bottom:16px;font-size:13px}.manifest-table th,.manifest-table td{vertical-align:middle;border:1px solid #334155;padding:6px 8px;line-height:1.4}.manifest-table th{text-align:center;color:#0f172a;background:#f1f5f9;font-weight:700}.manifest-checkbox{vertical-align:middle;border:1.5px solid #000;border-radius:2px;width:15px;height:15px;display:inline-block}.manifest-sign-space{width:50px;height:20px;display:inline-block}.manifest-footer-block{margin-top:20px}.manifest-notice{color:#475569;margin-bottom:16px;font-size:11.5px;line-height:1.5}.manifest-notice ol{margin:4px 0 0 16px;padding:0}.manifest-signatures{color:#1e293b;border-top:1px dashed #64748b;grid-template-columns:repeat(4,1fr);gap:20px;padding-top:14px;font-size:13px;display:grid}.manifest-sign-cell{flex-direction:column;gap:28px;display:flex}.sign-underline{border-bottom:1px solid #000;width:90%}@media print{body:has(.manifest-modal-backdrop){background:#fff!important}body:has(.manifest-modal-backdrop) .app-shell>:not(.manifest-modal-backdrop){display:none!important}body:has(.manifest-modal-backdrop) .screen-form{display:none!important}body:has(.manifest-modal-backdrop) .print-paper{display:none!important}body:has(.manifest-modal-backdrop) .portal-view{display:none!important}body:has(.manifest-modal-backdrop) .admin-view{display:none!important}.manifest-modal-backdrop{background:0 0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.manifest-modal-container{box-shadow:none!important;background:#fff!important;border-radius:0!important;max-width:100%!important;max-height:none!important}.manifest-sheet-wrap{background:0 0!important;padding:0!important;display:block!important}.manifest-print-sheet{box-shadow:none!important;width:100%!important;max-width:100%!important;padding:0!important}.no-print{display:none!important}.manifest-table{border-collapse:collapse!important}.manifest-table th,.manifest-table td{border:1px solid #000!important}.manifest-table tr{break-inside:avoid!important;page-break-inside:avoid!important}}.engineering-module-container{width:min(1200px,100% - 36px);min-height:calc(100vh - 120px);margin:24px auto 48px}.engineering-header-card{background:#fff;border:1px solid #dce4e7;border-radius:16px;margin-bottom:24px;padding:24px 28px;box-shadow:0 10px 30px #0d21300d}.engineering-badge-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.chief-exclusive-badge{color:#fff;letter-spacing:.05em;background:linear-gradient(135deg,#b91c1c,#991b1b);border-radius:999px;align-items:center;gap:6px;padding:4px 14px;font-size:13px;font-weight:800;display:inline-flex;box-shadow:0 3px 8px #b91c1c4d}.dept-tag{color:#475569;background:#f1f5f9;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600}.engineering-title{color:#0f172a;letter-spacing:-.02em;margin:0 0 8px;font-size:24px;font-weight:800}.engineering-subtitle{color:#64748b;max-width:900px;margin:0 0 20px;font-size:14px;line-height:1.6}.engineering-nav-tabs{border-top:1px solid #e2e8f0;flex-wrap:wrap;gap:10px;padding-top:14px;display:flex}.tab-btn{color:#334155;background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;align-items:center;gap:6px;padding:9px 18px;font-size:13.5px;font-weight:700;transition:all .15s;display:inline-flex}.tab-btn.active{color:#fff;background:#0f172a;border-color:#0f172a;box-shadow:0 4px 12px #0f172a26}.tab-btn.admin-tab{color:#92400e;background:#fef3c7;border-color:#fde68a}.tab-btn.admin-tab.active{color:#fff;background:#b45309;border-color:#b45309}.tab-btn.back-btn{color:#475569;margin-left:auto}.alert-box{border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:12px 18px;font-size:14px;font-weight:600;display:flex}.alert-box.success{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.alert-box.error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.alert-box button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:16px}.engineering-form-card{background:#fff;border:1px solid #dce4e7;border-radius:16px;padding:30px;box-shadow:0 10px 30px #0d21300d}.form-section-title{color:#0f172a;border-bottom:2px solid #e2e8f0;justify-content:space-between;align-items:baseline;margin-bottom:18px;padding-bottom:10px;font-size:17px;font-weight:800;display:flex}.section-note{color:#64748b;font-size:12px;font-weight:500}.form-grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:16px;display:grid}.form-grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-bottom:16px;display:grid}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-label{color:#1e293b;font-size:13.5px;font-weight:700}.form-label .req{color:#ef4444;margin-left:2px}.form-input,.form-select,.form-textarea{color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;padding:10px 14px;font-size:14px;transition:all .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{background:#fff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.form-input.highlight{color:#0f172a;background:#fff;border-color:#94a3b8;font-weight:700}.budget-chinese-preview{color:#047857;margin-top:4px;font-size:12.5px;font-weight:700}.photo-upload-container{background:#f8fafc;border:1.5px dashed #cbd5e1;border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex}.photo-upload-btn{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:fit-content;padding:9px 18px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 2px 5px #0000000d}.photo-upload-btn:hover{background:#f1f5f9}.photo-upload-btn.disabled{opacity:.5;cursor:not-allowed}.photo-preview-grid{flex-wrap:wrap;gap:16px;display:flex}.photo-preview-item{background:#000;border:1px solid #cbd5e1;border-radius:8px;width:140px;height:105px;position:relative;overflow:hidden}.photo-preview-item img{object-fit:cover;width:100%;height:100%}.photo-remove-btn{color:#fff;cursor:pointer;background:#000000b3;border:0;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;display:flex;position:absolute;top:4px;right:4px}.statutory-rules-card{background:#fffbeb;border:1px solid #fef3c7;border-left:4px solid #f59e0b;border-radius:10px;margin:24px 0;padding:16px 20px}.statutory-title{color:#92400e;margin-bottom:8px;font-size:14px;font-weight:800}.statutory-list{color:#78350f;margin:0;padding-left:20px;font-size:13px;line-height:1.65}.form-actions-row{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:12px;margin-top:28px;padding-top:20px;display:flex}.secondary-action-btn{color:#334155;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:10px;padding:11px 22px;font-size:14px;font-weight:700}.secondary-action-btn:hover{background:#e2e8f0}.primary-submit-btn{color:#fff;background:linear-gradient(135deg,#b91c1c,#991b1b);border:0;border-radius:10px;padding:11px 26px;font-size:14px;font-weight:800;transition:all .15s;box-shadow:0 4px 14px #b91c1c40}.primary-submit-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #b91c1c59}.engineering-print-container{flex-direction:column;align-items:center;display:flex}.preview-toolbar{color:#fff;background:#0f172a;border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;width:min(850px,100%);padding:14px 20px;display:flex}.preview-info{align-items:center;gap:12px;font-size:14px;font-weight:700;display:flex}.record-id-chip{color:#94a3b8;background:#334155;border-radius:6px;padding:2px 8px;font-family:monospace;font-size:12px}.preview-btns{gap:10px;display:flex}.print-action-btn{color:#fff;background:#2563eb;border:0;border-radius:8px;padding:8px 18px;font-size:13px;font-weight:700}.print-action-btn:hover{background:#1d4ed8}.edit-action-btn{color:#fff;background:#334155;border:0;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600}.a4-paper-wrapper{background:#64748b;border-radius:0 0 12px 12px;justify-content:center;width:100%;padding:30px;display:flex;overflow-x:auto}.word-doc-sheet{color:#000;box-sizing:border-box;background:#fff;width:794px;min-height:1123px;padding:68px 76px 60px;font-family:DFKai-SB,標楷體,BiauKai,TW-Kai,Kaiti,KaiTi,PMingLiU,serif;font-size:19px;line-height:1.85;position:relative;box-shadow:0 12px 36px #00000040}.crop-corner{pointer-events:none;width:16px;height:16px;position:absolute}.crop-corner.top-left{border-top:1.2px solid #94a3b8;border-left:1.2px solid #94a3b8;top:24px;left:24px}.crop-corner.top-right{border-top:1.2px solid #94a3b8;border-right:1.2px solid #94a3b8;top:24px;right:24px}.crop-corner.bottom-left{border-bottom:1.2px solid #94a3b8;border-left:1.2px solid #94a3b8;bottom:24px;left:24px}.crop-corner.bottom-right{border-bottom:1.2px solid #94a3b8;border-right:1.2px solid #94a3b8;bottom:24px;right:24px}.word-doc-title{text-align:center;letter-spacing:.12em;color:#000;margin:0 0 28px;font-size:28px;font-weight:700}.word-doc-para{color:#000;margin:0;font-size:19px;line-height:1.85}.word-doc-spacer{height:22px}.word-doc-spacer-large{height:52px}.word-doc-field{color:#000;align-items:baseline;font-size:19px;line-height:1.85;display:flex}.word-doc-label{white-space:nowrap;letter-spacing:.05em;font-weight:400}.word-doc-value{flex:1;font-weight:600}.word-doc-sublabel{color:#000;margin-top:-2px;font-size:16px;line-height:1.5}.word-doc-rules-header{color:#000;margin-bottom:4px;font-size:19px;line-height:1.85}.word-doc-rule-item{color:#000;text-indent:-2.2em;margin-bottom:4px;padding-left:2.2em;font-size:19px;line-height:1.85}.word-doc-date{text-align:center;color:#000;letter-spacing:.08em;font-size:19px;line-height:1.85}.word-doc-appendix{border-top:1px dashed #cbd5e1;margin-top:40px;padding-top:24px}.appendix-title{text-align:center;margin-bottom:12px;font-size:16px;font-weight:700}.appendix-photos-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.appendix-photo-item{text-align:center}.appendix-photo-item img{object-fit:cover;border:1px solid #94a3b8;width:100%;height:200px}.appendix-caption{color:#334155;margin-top:6px;font-size:13px}.engineering-inquiry-card,.engineering-admin-card{background:#fff;border:1px solid #dce4e7;border-radius:16px;padding:28px;box-shadow:0 10px 30px #0d21300d}.inquiry-header h3,.admin-header-row h3{color:#0f172a;margin:0 0 6px;font-size:18px;font-weight:800}.inquiry-header p,.admin-header-row p{color:#64748b;margin:0 0 20px;font-size:13.5px}.inquiry-form-row{gap:10px;max-width:600px;margin-bottom:24px;display:flex}.inquiry-input{border:1px solid #cbd5e1;border-radius:8px;outline:none;flex:1;padding:11px 16px;font-size:14px}.inquiry-btn{color:#fff;background:#0f172a;border:0;border-radius:8px;padding:11px 22px;font-size:14px;font-weight:700}.results-list{flex-direction:column;gap:14px;display:flex}.inquiry-result-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:18px}.result-top{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.result-village-badge{color:#1e293b;background:#e2e8f0;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}.result-project-title{color:#0f172a;margin:0;font-size:16px;font-weight:800}.status-badge{background:#e2e8f0;border-radius:999px;margin-left:auto;padding:3px 10px;font-size:12px;font-weight:800}.status-badge.待審核{color:#92400e;background:#fef3c7}.status-badge.已現勘{color:#0369a1;background:#e0f2fe}.status-badge.編製中{color:#86198f;background:#fae8ff}.status-badge.已送件{color:#15803d;background:#dcfce7}.status-badge.已結案{color:#065f46;background:#d1fae5}.status-badge.已作廢{color:#991b1b;background:#fee2e2}.result-meta{color:#64748b;flex-wrap:wrap;gap:18px;margin-bottom:8px;font-size:13px;display:flex}.result-note{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:10px;padding:8px 12px;font-size:13px}.result-actions{justify-content:flex-end;display:flex}.view-doc-btn{color:#fff;background:#0f172a;border:0;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:700}.admin-header-row{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.export-csv-btn{color:#fff;background:#047857;border:0;border-radius:8px;padding:9px 18px;font-size:13.5px;font-weight:700}.admin-filter-row{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:18px;display:flex}.filter-group{color:#334155;align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.filter-group select{background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;padding:7px 12px;font-size:13px}.filter-search input{border:1px solid #cbd5e1;border-radius:6px;width:240px;padding:7px 14px;font-size:13px}.admin-table-container{border:1px solid #e2e8f0;border-radius:10px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:13.5px}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid #e2e8f0;padding:10px 12px}.admin-table th{color:#334155;background:#f8fafc;font-weight:700}.admin-table tr.selected-row{background:#eff6ff}.admin-table td.mono{color:#64748b;font-family:monospace;font-size:12px}.status-pill{border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:700;display:inline-block}.status-pill.待審核{color:#92400e;background:#fef3c7}.status-pill.已現勘{color:#0369a1;background:#e0f2fe}.status-pill.編製中{color:#86198f;background:#fae8ff}.status-pill.已送件{color:#15803d;background:#dcfce7}.status-pill.已結案{color:#065f46;background:#d1fae5}.status-pill.已作廢{color:#991b1b;background:#fee2e2}.table-btn{background:#fff;border:1px solid #cbd5e1;border-radius:6px;margin-right:6px;padding:4px 10px;font-size:12px;font-weight:700}.table-btn.print{background:#f1f5f9}.admin-review-drawer{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:12px;margin-top:24px;padding:20px}.drawer-header{border-bottom:1px solid #cbd5e1;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:10px;display:flex}.drawer-header h4{color:#0f172a;margin:0;font-size:16px}.close-drawer-btn{cursor:pointer;background:0 0;border:0;font-size:18px}.drawer-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:14px;font-size:13.5px;display:grid}.drawer-field{margin-bottom:12px;font-size:13.5px}.drawer-field p{color:#334155;margin:4px 0 0}.drawer-photos{margin-bottom:14px}.drawer-photo-grid{gap:10px;margin-top:6px;display:flex}.drawer-photo-grid img{object-fit:cover;border:1px solid #cbd5e1;border-radius:6px;width:120px;height:90px}.review-inputs-group{grid-template-columns:200px 1fr;gap:14px;margin-bottom:16px;display:grid}.status-change-buttons{border-top:1px dashed #cbd5e1;flex-wrap:wrap;align-items:center;gap:8px;padding-top:14px;font-size:13.5px;font-weight:700;display:flex}.status-btn{background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:6px 14px;font-size:12.5px;font-weight:700}.status-btn:hover{background:#e2e8f0}.status-btn.success{color:#fff;background:#047857;border-color:#047857}.status-btn.danger{color:#fff;background:#dc2626;border-color:#dc2626}.status-btn.hard-delete{color:#fff;background:#000;border-color:#000}@media print{@page{size:A4 portrait;margin:15mm 20mm}body:has(.engineering-print-container){background:#fff!important}:is(body:has(.engineering-print-container) .topbar,body:has(.engineering-print-container) .engineering-header-card,body:has(.engineering-print-container) .preview-toolbar,body:has(.engineering-print-container) .no-print,body:has(.engineering-print-container) .portal-view,body:has(.engineering-print-container) .workspace),.crop-corner{display:none!important}.engineering-module-container{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}.a4-paper-wrapper{background:0 0!important;padding:0!important;display:block!important}.word-doc-sheet{box-shadow:none!important;page-break-inside:avoid!important;break-inside:avoid!important;width:100%!important;max-width:100%!important;min-height:auto!important;margin:0!important;padding:0!important;font-size:16pt!important;line-height:1.85!important}.word-doc-title{font-size:24pt!important}.word-doc-para,.word-doc-field,.word-doc-rules-header,.word-doc-rule-item,.word-doc-date{font-size:15pt!important;line-height:1.85!important}.word-doc-sublabel{font-size:13pt!important}.word-doc-appendix{page-break-before:always!important;break-before:page!important}}.task-report-module-container{max-width:1040px;margin:0 auto;padding:1.5rem 1rem 4rem}.task-report-header-card{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:12px;margin-bottom:1.5rem;padding:1.75rem 2rem;box-shadow:0 4px 6px -1px #0000000d}.task-report-badge-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.chief-task-badge{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:9999px;align-items:center;gap:.35rem;padding:.25rem .75rem;font-size:.85rem;font-weight:700;display:inline-flex}.task-report-title{color:var(--text-main,#0f172a);letter-spacing:-.02em;margin:0 0 .5rem;font-size:1.5rem;font-weight:800}.task-report-subtitle{color:var(--text-muted,#64748b);margin:0 0 1.25rem;font-size:.95rem;line-height:1.6}.task-report-nav-tabs{border-top:1px solid var(--border,#e2e8f0);flex-wrap:wrap;gap:.5rem;padding-top:1.25rem;display:flex}.task-report-form-card,.task-report-inquiry-card,.task-report-admin-card{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:12px;padding:2rem;box-shadow:0 4px 6px -1px #0000000d}.dept-checkbox-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.6rem;margin-top:.5rem;display:grid}.dept-checkbox-label{border:1px solid var(--border,#cbd5e1);cursor:pointer;-webkit-user-select:none;user-select:none;color:#334155;background:#f8fafc;border-radius:8px;align-items:center;gap:.5rem;padding:.6rem .85rem;font-size:.92rem;font-weight:500;transition:all .15s;display:flex}.dept-checkbox-label:hover{background:#f1f5f9;border-color:#94a3b8}.dept-checkbox-label.selected{color:#1d4ed8;background:#eff6ff;border-color:#3b82f6;font-weight:700}.dept-checkbox-label input[type=checkbox]{accent-color:#2563eb;cursor:pointer;width:16px;height:16px}.photo-preview-grid-4{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;margin-top:.75rem;display:grid}.date-minguo-hint{color:#0284c7;margin-top:.35rem;font-size:.82rem;font-weight:600}.official-remark-box{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin:1.5rem 0;padding:1rem 1.25rem}.official-remark-text{color:#92400e;margin:.25rem 0 0;font-size:.92rem;font-weight:500;line-height:1.6}.task-report-print-container{flex-direction:column;align-items:center;display:flex}.task-report-doc-sheet{box-sizing:border-box;color:#000;background:#fff;border:1px solid #d1d5db;width:210mm;min-height:297mm;padding:20mm;font-family:DFKai-SB,BiauKai,標楷體,TW-Kai,serif;line-height:1.5;position:relative;box-shadow:0 10px 25px #0000001a}.doc-main-title{text-align:center;letter-spacing:.08em;margin-bottom:6mm;font-size:20pt;font-weight:900;line-height:1.3}.doc-meta-row{justify-content:flex-end;margin-bottom:3mm;font-size:11.5pt;font-weight:700;display:flex}.task-report-official-table{border-collapse:collapse;border:2px solid #000;width:100%;margin-bottom:4mm}.task-report-official-table th,.task-report-official-table td{vertical-align:middle;border:1.5px solid #000;padding:8px 12px;font-size:12pt}.cell-header{text-align:center;letter-spacing:.15em;white-space:nowrap;background:#fafafa;font-weight:800}.cell-w-18{width:20%}.cell-content{text-align:left;line-height:1.6}.multiline-cell{white-space:pre-wrap;word-break:break-all;height:90px;min-height:90px;vertical-align:top!important}.print-dept-matrix{flex-wrap:wrap;gap:8px 16px;line-height:1.6;display:flex}.print-dept-item{align-items:center;font-size:11pt;display:inline-flex}.print-checkbox{font-family:monospace;font-size:12pt}.print-photo-grid{grid-template-columns:repeat(2,1fr);gap:8px;padding:4px 0;display:grid}.print-photo-box{text-align:center;background:#f9fafb;border:1px solid #e5e7eb;padding:4px}.print-photo-box img{object-fit:cover;width:100%;height:120px;display:block}.print-photo-caption{color:#4b5563;margin-top:2px;font-size:9.5pt}.official-remark-clause{letter-spacing:.02em;text-align:justify;margin:3mm 0 6mm;font-size:10.5pt;line-height:1.5}.doc-meta-left{margin-bottom:3mm;font-family:DFKai-SB,BiauKai,標楷體,TW-Kai,serif;justify-content:flex-start!important;font-size:13pt!important}.task-report-signatures-text{color:#000;width:100%;margin-top:10mm;font-family:DFKai-SB,BiauKai,標楷體,TW-Kai,serif;font-size:13.5pt}.sig-text-row{justify-content:space-between;width:100%;padding:0 4mm;display:flex}.sig-item{letter-spacing:.05em;white-space:nowrap;font-weight:700}.sig-text-stamp-space{height:50px}.sig-text-village-chief{letter-spacing:.05em;padding:0 4mm;font-weight:700}.status-badge.會辦中,.status-pill.會辦中,.status-tag.會辦中{color:#1d4ed8!important;background:#eff6ff!important;border-color:#bfdbfe!important}.status-badge.已派工,.status-pill.已派工,.status-tag.已派工{color:#15803d!important;background:#f0fdf4!important;border-color:#bbf7d0!important}.dept-tags-small{color:#475569;font-size:.82rem}.lead-dept-badge{color:#0369a1;background:#e0f2fe;border-radius:4px;padding:.15rem .5rem;font-size:.82rem;font-weight:700;display:inline-block}.result-desc{color:#334155;margin:.4rem 0;font-size:.9rem;line-height:1.5}@media print{body:has(.task-report-print-container){color:#000!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important}:is(body:has(.task-report-print-container) .topbar,body:has(.task-report-print-container) .task-report-header-card,body:has(.task-report-print-container) .preview-toolbar,body:has(.task-report-print-container) .alert-box,body:has(.task-report-print-container) .no-print,body:has(.task-report-print-container) .portal-view,body:has(.task-report-print-container) .portal-footer,body:has(.task-report-print-container) .workspace){display:none!important}:is(body:has(.task-report-print-container) .task-report-module-container,body:has(.task-report-print-container) .task-report-print-container,body:has(.task-report-print-container) .a4-paper-wrapper){width:100%!important;max-width:100%!important;box-shadow:none!important;border:none!important;margin:0!important;padding:0!important}body:has(.task-report-print-container) .task-report-doc-sheet{width:100%!important;min-height:auto!important;box-shadow:none!important;page-break-inside:avoid!important;break-inside:avoid!important;border:none!important;margin:0!important;padding:0!important}body:has(.task-report-print-container) .task-report-official-table{border:2px solid #000!important}:is(body:has(.task-report-print-container) .task-report-official-table th,body:has(.task-report-print-container) .task-report-official-table td){border:1.5px solid #000!important}}.primary-button,.btn-primary,.submit-btn,.action-btn-primary{color:#fff!important;background:linear-gradient(135deg,#0284c7 0%,#0369a1 100%)!important;border:none!important;border-radius:9999px!important;justify-content:center!important;align-items:center!important;gap:8px!important;min-height:44px!important;padding:10px 22px!important;font-weight:700!important;transition:all .22s cubic-bezier(.16,1,.3,1)!important;display:inline-flex!important;box-shadow:0 4px 14px #0284c740!important}.primary-button:hover,.btn-primary:hover,.submit-btn:hover,.action-btn-primary:hover{background:linear-gradient(135deg,#0369a1 0%,#075985 100%)!important;transform:translateY(-1.5px)!important;box-shadow:0 8px 22px #0284c759!important}.secondary-button,.text-button,.btn-secondary{color:#1e293b!important;background:#ffffffd9!important;border:1px solid #cbd5e1d9!important;border-radius:9999px!important;justify-content:center!important;align-items:center!important;gap:8px!important;min-height:44px!important;padding:10px 20px!important;font-weight:600!important;transition:all .2s!important;display:inline-flex!important;box-shadow:0 2px 6px #0f172a08!important}.secondary-button:hover,.text-button:hover,.btn-secondary:hover{color:#0f172a!important;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%)!important;border-color:#94a3b8!important;transform:translateY(-1px)!important}.task-report-header-card,.task-report-form-card,.engineering-header-card,.engineering-form-card,.records-panel,.editor-panel,.form-paper,.admin-card{-webkit-backdrop-filter:blur(16px)saturate(180%)!important;backdrop-filter:blur(16px)saturate(180%)!important;background:linear-gradient(135deg,#ffffffe6 0%,#ffffffc2 100%)!important;border:1px solid #ffffffd9!important;border-radius:22px!important;box-shadow:0 12px 36px -6px #0f172a0d,0 4px 12px -2px #0f172a06!important}.form-input,.form-select,.form-textarea,.field-input,.search-input{color:#0f172a!important;background:#fffffff2!important;border:1.5px solid #cbd5e1d9!important;border-radius:14px!important;min-height:44px!important;padding:10px 16px!important;font-size:15px!important;transition:all .2s!important;box-shadow:inset 0 1px 2px #0f172a05!important}.form-input:focus,.form-select:focus,.form-textarea:focus,.field-input:focus,.search-input:focus{border-color:#0284c7!important;outline:none!important;box-shadow:0 0 0 3.5px #0284c726!important}.task-report-nav-tabs,.engineering-nav-tabs{-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;background:#f1f5f9bf!important;border:1px solid #e2e8f0cc!important;border-radius:9999px!important;gap:6px!important;width:fit-content!important;max-width:100%!important;padding:5px!important;display:flex!important;overflow-x:auto!important}.task-report-nav-tabs::-webkit-scrollbar{display:none!important}.engineering-nav-tabs::-webkit-scrollbar{display:none!important}.tab-btn{color:#475569!important;white-space:nowrap!important;background:0 0!important;border:none!important;border-radius:9999px!important;justify-content:center!important;align-items:center!important;gap:6px!important;min-height:38px!important;padding:8px 18px!important;font-size:13.5px!important;font-weight:600!important;transition:all .2s cubic-bezier(.16,1,.3,1)!important;display:inline-flex!important}.tab-btn:hover{color:#0f172a!important;background:#ffffffd9!important}.tab-btn.active{color:#fff!important;background:linear-gradient(135deg,#0284c7 0%,#0369a1 100%)!important;font-weight:700!important;box-shadow:0 4px 14px #0284c740!important}.tab-btn.admin-tab.active{background:linear-gradient(135deg,#059669 0%,#047857 100%)!important;box-shadow:0 4px 14px #05966940!important}.modal-dialog,.manifest-modal-container,.notification-drawer,.admin-review-drawer,.alert-box,.dropdown-menu,.tooltip-content,.popover-card{color:#0f172a!important;opacity:1!important;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:24px!important;box-shadow:0 25px 60px -12px #0f172a59,0 0 1px 1px #0f172a14!important}.modal-header,.modal-body,.modal-footer,.drawer-header,.drawer-body,.drawer-footer,.manifest-top-toolbar{color:#0f172a!important;opacity:1!important;background:#fff!important}.modal-footer,.drawer-footer{background:#f8fafc!important;border-top:1px solid #e2e8f0!important;border-bottom-right-radius:24px!important;border-bottom-left-radius:24px!important}.modal-header h3,.modal-header h4,.drawer-header h4,.notification-drawer-title,.manifest-modal-container h3{color:#0f172a!important;font-weight:800!important}.modal-body p,.modal-body span,.modal-body label,.drawer-body p,.drawer-body span,.drawer-body label{color:#1e293b!important}.modal-backdrop,.manifest-modal-backdrop{-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;background:#0f172a8c!important}.chief-exclusive-badge,.chief-task-badge,.dept-tag,.activity-dept-badge,.activity-status-badge,.connection-pill{border-radius:9999px!important}.table-responsive-wrapper,.admin-table-container,.inquiry-results-table{border:1px solid #e2e8f0d9!important;border-radius:16px!important;overflow:hidden!important}.photo-preview-item,.print-photo-box{border-radius:14px!important;overflow:hidden!important;box-shadow:0 4px 12px #0f172a14!important}.mobile-bottom-nav{display:none}@media (max-width:768px){.mobile-bottom-nav{box-sizing:border-box!important;z-index:1000!important;-webkit-backdrop-filter:blur(20px)saturate(180%)!important;backdrop-filter:blur(20px)saturate(180%)!important;width:100%!important;max-width:100vw!important;padding:6px 8px!important;padding-bottom:max(10px, env(safe-area-inset-bottom))!important;background:#fffffff5!important;border-top:1px solid #e2e8f0e6!important;justify-content:space-around!important;align-items:center!important;gap:4px!important;display:flex!important;position:fixed!important;bottom:0!important;left:0!important;right:0!important;box-shadow:0 -6px 24px #0f172a17!important}.mobile-nav-item{color:#64748b!important;cursor:pointer!important;touch-action:manipulation!important;background:0 0!important;border:none!important;border-radius:12px!important;flex-direction:column!important;flex:1!important;justify-content:center!important;align-items:center!important;gap:2px!important;min-width:0!important;min-height:48px!important;padding:6px 4px!important;font-size:11px!important;font-weight:700!important;text-decoration:none!important;transition:all .2s!important;display:flex!important}.mobile-nav-item span{white-space:nowrap!important;text-overflow:ellipsis!important;max-width:100%!important;font-size:11px!important;overflow:hidden!important}.mobile-nav-item .material-symbols-outlined{color:inherit!important;font-size:24px!important;line-height:1!important}.mobile-nav-item:hover,.mobile-nav-item.active{color:#0284c7!important;background:#0284c714!important}.mobile-nav-item.primary-action{color:#fff!important;background:linear-gradient(135deg,#0284c7 0%,#0369a1 100%)!important;border-radius:9999px!important;flex:1.2!important;padding:6px 14px!important;box-shadow:0 4px 12px #0284c74d!important}.mobile-nav-item.primary-action .material-symbols-outlined{color:#fff!important}.mobile-nav-item.danger{color:#ef4444!important}.mobile-nav-item.danger:hover{background:#ef444414!important}.topbar-actions .topbar-action-btn,.topbar-nav .back-to-portal-btn,.topbar-divider{display:none!important}.topbar{gap:12px!important;min-height:58px!important;padding:10px 16px!important}.topbar-nav{flex:1!important;gap:10px!important;min-width:0!important}.brand-block{gap:10px!important;min-width:0!important}.brand-mark{border-radius:12px!important;flex-shrink:0!important;width:38px!important;height:38px!important}.brand-mark .material-symbols-outlined{font-size:22px!important}.topbar h1{white-space:nowrap!important;text-overflow:ellipsis!important;font-size:16px!important;line-height:1.25!important;overflow:hidden!important}.topbar .eyebrow{white-space:nowrap!important;text-overflow:ellipsis!important;font-size:10px!important;overflow:hidden!important}.topbar-actions{flex-shrink:0!important;gap:8px!important}.connection-pill{padding:4px 10px!important;font-size:11px!important}.form-input,.form-select,.form-textarea,.field-input,.search-input,.portal-search-input{font-size:16px!important}button,.tab-btn,.portal-tab,.form-input,.form-select{min-height:44px!important}.form-action-row,.editor-actions,.preview-action-row{flex-direction:column!important;gap:12px!important}.primary-submit-btn,.preview-doc-btn,.form-action-row button{width:100%!important;min-height:48px!important;font-size:15.5px!important}.modal-dialog{border-radius:24px 24px 0 0!important;width:100%!important;max-width:100%!important;max-height:88vh!important;margin:auto 0 0!important;padding:22px 18px!important}.manifest-modal-container{border-radius:20px!important;max-height:94vh!important;margin:8px!important}.notification-drawer{width:calc(100% - 24px)!important;max-height:80vh!important;position:fixed!important;inset:auto 12px 12px!important}.form-grid-3,.form-grid-2,.portal-cards-grid,.portal-stats-grid{box-sizing:border-box!important;grid-template-columns:1fr!important;gap:16px!important;width:100%!important;max-width:100%!important}html,body,.app-shell{width:100%!important;max-width:100vw!important;overflow-x:hidden!important}.portal-view{box-sizing:border-box!important;width:100%!important;max-width:100vw!important;padding:16px 12px 90px!important;overflow-x:hidden!important}.portal-hero{box-sizing:border-box!important;border-radius:18px!important;width:100%!important;max-width:100%!important;padding:20px 14px!important}.portal-hero-title{word-break:break-word!important;font-size:22px!important;line-height:1.3!important}.portal-hero-desc{max-width:100%!important;font-size:13.5px!important}.portal-filter-bar{box-sizing:border-box!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important;width:100%!important;max-width:100%!important;display:flex!important}.portal-tabs{-webkit-overflow-scrolling:touch!important;box-sizing:border-box!important;scrollbar-width:none!important;flex-wrap:nowrap!important;gap:8px!important;width:100%!important;max-width:100%!important;padding:2px 2px 8px!important;display:flex!important;overflow-x:auto!important}.portal-tabs::-webkit-scrollbar{display:none!important}.portal-tab{white-space:nowrap!important;flex-shrink:0!important;padding:8px 14px!important;font-size:13px!important}.portal-search-wrap{box-sizing:border-box!important;width:100%!important;max-width:100%!important}.activity-card{box-sizing:border-box!important;width:100%!important;max-width:100%!important;padding:20px 16px!important}body,.app-shell,.portal-view,.workspace,.task-report-module-container,.engineering-module-container{padding-bottom:calc(84px + env(safe-area-inset-bottom))!important}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.topbar,.portal-hero,.activity-card,.portal-tab,.task-report-header-card,.task-report-form-card,.engineering-header-card,.engineering-form-card,.records-panel,.editor-panel,.mobile-bottom-nav{background:#fff!important}}
