/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.property-page{color:#24384b;background:#fff;min-height:100vh;font-family:Noto Sans TC,Microsoft JhengHei,sans-serif}.property-header{color:#fff;background:#1e3652;border-bottom:4px solid #f2653c;justify-content:space-between;align-items:center;min-height:78px;padding:12px max(24px,50% - 590px);display:flex}.property-brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:inline-flex}.property-logo-wrap{background:#fff;border-radius:7px;place-items:center;width:104px;height:53px;display:grid;overflow:hidden}.property-logo-wrap img{width:96px;height:auto}.property-brand b,.property-brand small{display:block}.property-brand b{letter-spacing:.08em;font-size:18px}.property-brand small{color:#c4d5e5;margin-top:4px;font-size:11px}.property-header nav{align-items:center;gap:20px;display:flex}.property-header nav a{color:#fff;font-size:13px;text-decoration:none}.property-header nav a:hover{color:#ffc35b}.property-edit-button{color:#1e3652;cursor:pointer;font:inherit;background:#ffc35b;border:1px solid #ffc35b;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:800}.property-content{width:min(1180px,100% - 40px);margin:0 auto;padding:20px 0 70px}.property-breadcrumb{color:#8190a0;margin:0 0 10px;font-size:12px}.property-title{color:#263b50;margin:0;font-size:clamp(24px,3vw,34px);font-weight:500}.property-hero-copy{color:#c35d37;margin:6px 0 22px;font-size:15px;font-weight:700}.property-main-grid{grid-template-columns:minmax(0,1.28fr) minmax(340px,.92fr);gap:28px;display:grid}.property-hero-image{background:#e9eee9;border-radius:5px;min-height:440px;display:grid;overflow:hidden}.property-hero-image img{object-fit:cover;width:100%;height:100%;min-height:440px}.property-image-placeholder{color:#fff;text-shadow:0 2px 5px #1c3030;background:linear-gradient(145deg,#6d8958 0 22%,#263c4e 22% 38%,#d9e5be 38% 44%,#849c62 44% 68%,#394e5d 68% 78%,#a6b888 78%);align-content:center;justify-items:center;min-height:440px;display:grid}.property-image-placeholder span{letter-spacing:.18em;font-size:15px}.property-image-placeholder strong{letter-spacing:.1em;margin:12px 0;font-size:clamp(28px,4vw,54px)}.property-image-placeholder small{color:#1e3652;text-shadow:none;background:#ffffffd1;border-radius:999px;padding:6px 12px}.property-thumbs{gap:9px;min-height:78px;padding-top:10px;display:flex}.property-thumbs button{cursor:pointer;background:#eef1f2;border:2px solid #0000;border-radius:4px;width:92px;height:68px;padding:0;overflow:hidden}.property-thumbs button.active{border-color:#1e3652}.property-thumbs img{object-fit:cover;width:100%;height:100%}.property-thumb-empty{color:#9aa7b1;padding:22px 0;font-size:12px}.property-lot-tabs{flex-wrap:wrap;gap:7px;display:flex}.property-lot-tabs button{color:#334a63;cursor:pointer;min-width:38px;font:inherit;background:#fff;border:1px solid #8999ac;border-radius:2px;padding:6px 7px;font-size:11px}.property-lot-tabs button.active{color:#fff;background:#1e3652}.property-price{color:#e25c3b;justify-content:center;align-items:baseline;gap:7px;padding:30px 0 24px;display:flex}.property-price span{color:#c45b3d;margin-right:auto;font-size:17px}.property-price strong{font-size:28px;font-weight:500}.property-price em{color:#53677d;font-size:14px;font-style:normal}.property-rule{border-top:1px solid #d8dee4}.property-detail-heading{color:#5c6c7e;justify-content:space-around;padding:14px 0 10px;font-size:12px;display:flex}.property-details{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.property-details div{border-bottom:1px solid #e6eaed;grid-template-columns:60px 1fr;gap:8px;padding:8px 2px;font-size:12px;display:grid}.property-details dt{color:#7c8996}.property-details dd{color:#354b61;margin:0}.property-copy-section,.property-location{margin-top:42px}.property-copy-section h2,.property-location h2{color:#324c67;align-items:center;gap:16px;margin:0 0 22px;font-size:17px;font-weight:500;display:flex}.property-copy-section h2:before,.property-copy-section h2:after,.property-location h2:before,.property-location h2:after{content:"";background:#d5dce3;flex:1;height:1px}.property-copy-grid{grid-template-columns:1fr 1fr;gap:42px;display:grid}.property-copy-grid h3{color:#405b75;margin:0 0 13px;font-size:13px;font-weight:600}.property-copy-grid dl{gap:3px;margin:0;display:grid}.property-copy-grid dl div{grid-template-columns:100px 1fr;gap:10px;padding:5px 0;font-size:12px;display:grid}.property-copy-grid dt{color:#82909c}.property-copy-grid dd{color:#405870;margin:0}.property-copy-grid p{white-space:pre-line;color:#52687b;margin:0;font-size:13px;line-height:2}.property-location p{color:#617487;font-size:13px}.property-map{background:#edf0ef;border:1px solid #d8dfe5;border-radius:6px;min-height:330px;position:relative;overflow:hidden}.property-map:before,.property-map:after{content:"";background-image:linear-gradient(22deg,#0000 47%,#f6c15fd9 48% 50%,#0000 51%),linear-gradient(155deg,#0000 38%,#f2f2efe6 39% 50%,#0000 51%),repeating-linear-gradient(90deg,#0000 0 85px,#b9c2c673 86px 88px);position:absolute;inset:0}.property-map:after{opacity:.48;transform:rotate(-18deg)scale(1.2)}.map-road{z-index:1;background:#f4be62;border-radius:999px;height:16px;position:absolute;transform:rotate(-22deg);box-shadow:0 0 0 3px #ffffff8c}.map-road-one{width:112%;top:80px;left:-5%}.map-road-two{width:70%;top:230px;left:35%;transform:rotate(37deg)}.map-river{z-index:1;opacity:.72;background:#8ec0ed;width:20px;height:125%;position:absolute;top:-10%;left:50%;transform:rotate(36deg)}.map-pin{z-index:3;color:#1e3652;text-shadow:0 1px 3px #fff;font-size:30px;position:absolute;top:49%;left:50%}.map-pin span{color:#fff;width:max-content;text-shadow:none;background:#1e3652;border-radius:3px;margin:-5px 0 0 -38px;padding:5px 8px;font-size:11px;display:block}.map-label{z-index:2;color:#7b8890;font-size:12px;position:absolute}.map-label-one{top:42%;left:30%}.map-label-two{top:58%;right:26%}.property-map small{z-index:3;color:#62727d;font-size:10px;position:absolute;bottom:8px;right:8px}.property-footer{color:#e9f0f6;background:#1e3652;border-top:5px solid #f2653c;grid-template-columns:1.5fr .75fr 1fr;gap:40px;padding:40px max(24px,50% - 590px);display:grid}.property-footer img{background:#fff;border-radius:3px;width:150px;margin-bottom:9px}.property-footer strong{color:#ffc35b;font-size:16px;display:block}.property-footer p{color:#bdcede;max-width:350px;margin:8px 0 0;font-size:12px;line-height:1.7}.property-footer h3{color:#ffc35b;margin:5px 0 12px;font-size:13px}.property-footer a,.property-footer span{color:#e9f0f6;margin:0 0 9px;font-size:12px;text-decoration:none;display:block}.property-footer a:hover{color:#ffc35b}.property-toast{z-index:20;color:#fff;background:#1e3652;border-radius:8px;max-width:min(360px,100% - 44px);padding:12px 15px;font-size:12px;position:fixed;bottom:22px;right:22px;box-shadow:0 8px 24px #0e233940}.property-editor-backdrop{z-index:30;background:#1121309e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.property-editor{background:#fff;border-radius:14px;width:min(760px,100%);max-height:calc(100vh - 40px);padding:26px;overflow:auto;box-shadow:0 28px 80px #0000004d}.property-editor-head{border-bottom:1px solid #e0e6eb;justify-content:space-between;align-items:flex-start;padding-bottom:18px;display:flex}.property-editor-head span{color:#e2653f;font-size:12px;font-weight:800}.property-editor-head h2{color:#223b56;margin:7px 0 0;font-size:24px;font-weight:500}.property-editor-head>button{color:#667688;cursor:pointer;background:0 0;border:0;font-size:27px}.property-editor-grid{grid-template-columns:1fr 1fr;gap:14px;padding:20px 0;display:grid}.property-editor label{color:#4d6277;gap:6px;font-size:12px;font-weight:700;display:grid}.property-editor label.full{grid-column:1/-1}.property-editor input,.property-editor textarea{color:#263e57;width:100%;font:inherit;background:#fbfcfd;border:1px solid #cdd7e0;border-radius:5px;outline:none;padding:10px;font-size:13px}.property-editor input:focus,.property-editor textarea:focus{border-color:#1e7d87;box-shadow:0 0 0 3px #1e7d871f}.property-image-editor{border-top:1px solid #e0e6eb;border-bottom:1px solid #e0e6eb;padding:18px 0}.property-image-editor h3{color:#223b56;margin:0;font-size:14px}.property-image-editor p{color:#7b8996;margin:6px 0 14px;font-size:12px}.property-image-actions{flex-wrap:wrap;gap:9px;display:flex}.property-upload,.property-image-actions>button{color:#fff;cursor:pointer;font:inherit;background:#1e3652;border:1px solid #1e3652;border-radius:5px;align-items:center;padding:9px 12px;font-size:12px;font-weight:700;display:inline-flex}.property-upload input{display:none}.property-image-actions>button{color:#1e3652;background:#fff}.property-image-list{flex-wrap:wrap;gap:9px;margin-top:14px;display:flex}.property-image-list div{background:#eef1f2;border-radius:4px;width:86px;height:65px;position:relative;overflow:hidden}.property-image-list img{object-fit:cover;width:100%;height:100%}.property-image-list button{color:#fff;cursor:pointer;background:#000000a6;border:0;border-radius:3px;padding:3px 5px;font-size:10px;position:absolute;bottom:2px;right:2px}.property-editor-foot{justify-content:space-between;align-items:center;gap:15px;padding-top:18px;display:flex}.property-editor-foot span{color:#c35d37;font-size:12px}.property-editor-foot>button{color:#fff;cursor:pointer;font:inherit;background:#e2653f;border:0;border-radius:5px;padding:11px 18px;font-size:13px;font-weight:800}@media (width<=720px){.property-header{flex-direction:column;align-items:flex-start;gap:14px;padding:12px 16px 15px}.property-header nav{justify-content:space-between;gap:8px;width:100%;overflow-x:auto}.property-header nav a{flex:none;font-size:11px}.property-edit-button{flex:none;padding:7px 10px}.property-content{width:min(100% - 28px,560px);padding-top:16px}.property-main-grid{grid-template-columns:1fr;gap:12px}.property-hero-image,.property-hero-image img,.property-image-placeholder{min-height:250px}.property-thumbs{min-height:65px;overflow-x:auto}.property-thumbs button{flex:0 0 76px;height:57px}.property-price{padding:20px 0 16px}.property-copy-section,.property-location{margin-top:32px}.property-copy-grid{grid-template-columns:1fr;gap:22px}.property-map{min-height:260px}.property-footer{grid-template-columns:1fr;gap:24px;padding:30px 20px}.property-editor-backdrop{align-items:end;padding:0}.property-editor{border-radius:14px 14px 0 0;max-height:92vh;padding:20px 16px}.property-editor-grid{grid-template-columns:1fr}.property-editor label.full{grid-column:auto}.property-editor-foot{flex-direction:column;align-items:stretch}.property-editor-foot>button{width:100%}}.property-footer{grid-template-columns:1.35fr .75fr 1fr 1.2fr}.property-legal span{overflow-wrap:anywhere}@media (width<=720px){.property-footer{grid-template-columns:1fr}}.health-page{--ink:#10383a;--deep:#074b4c;--mint:#79d7bf;--coral:#ed765a;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 10% 0,#c8eee3,#0000 33%),linear-gradient(145deg,#f9f7ef,#e7f1ed);padding-bottom:54px;font-family:Arial,Noto Sans TC,sans-serif}.health-topbar{z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fbfaf5ef;border-bottom:1px solid #cfe1dc;justify-content:space-between;align-items:center;min-height:68px;padding:0 max(4vw,20px);display:flex;position:sticky;top:0}.health-brand,.health-account{font-weight:900;text-decoration:none}.health-brand{color:var(--deep);font-size:18px}.health-brand small{color:#67908a;letter-spacing:.1em;font-size:11px;display:block}.health-account{color:#245c59;border:1px solid #9dbbb4;border-radius:999px;padding:10px 15px;font-size:14px}.health-hero,.health-panel,.health-upload-panel,.health-summary,.health-feedback,.health-empty{width:min(1160px,100% - 40px);margin-left:auto;margin-right:auto}.health-hero{grid-template-columns:1.5fr .7fr;gap:48px;padding:clamp(44px,8vw,88px) 0 38px;display:grid}.health-hero>div>p,.health-heading p,.health-upload-panel p{color:#b15945;letter-spacing:.12em;margin:0 0 9px;font-size:12px;font-weight:900}.health-hero h1{color:var(--deep);letter-spacing:-.06em;margin:0;font-size:clamp(42px,6vw,70px);line-height:1.08}.health-hero h2{color:var(--coral);margin:6px 0 17px;font-size:clamp(23px,3vw,34px)}.health-hero span{color:#486b69;max-width:650px;font-size:17px;line-height:1.8;display:block}.health-hero aside{border-left:4px solid var(--coral);background:#ffffffa8;border-radius:0 18px 18px 0;align-self:end;padding:22px;box-shadow:0 12px 30px #0b494718}.health-hero aside strong{color:#a04d3e}.health-hero aside p{color:#526c68;margin:10px 0 0;line-height:1.7}.health-panel{background:#ffffffb0;border:1px solid #cfe0da;border-radius:26px;margin-top:20px;padding:28px;box-shadow:0 15px 34px #0c4d4812}.health-heading{justify-content:space-between;align-items:end;gap:18px;margin-bottom:19px;display:flex}.health-heading h2,.health-upload-panel h2{color:var(--deep);letter-spacing:-.03em;margin:0;font-size:28px}.health-heading>button,.health-upload-panel>button,.health-empty button,.health-modal button{color:#fff;cursor:pointer;font:inherit;background:linear-gradient(145deg,#ff9e86,#de5c4f);border:0;border-radius:999px;padding:12px 19px;font-weight:900;box-shadow:inset 0 1px #fff8,0 7px 16px #c85b4a32}.health-member-grid{gap:12px;padding:2px 2px 8px;display:flex;overflow-x:auto}.health-member{color:#396663;cursor:pointer;min-height:78px;font:inherit;text-align:left;background:#fff;border:1px solid #bed2ca;border-radius:18px;flex:0 0 188px;grid-template-rows:auto auto;grid-template-columns:38px minmax(112px,1fr);gap:2px 10px;padding:14px;display:grid}.health-member b{width:38px;height:38px;color:var(--deep);background:#c7efe3;border-radius:50%;grid-row:span 2;align-self:center;place-items:center;display:grid}.health-member strong{align-self:end;font-size:16px}.health-member small{color:#718783;font-size:12px}.health-member.active{border-color:var(--deep);color:#fff;background:var(--deep);box-shadow:0 10px 20px #073e3c22}.health-member.active small{color:#d5ece6}.health-summary{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px;display:grid}.health-summary article{color:#edf9f4;background:linear-gradient(145deg,#0a4748,#176262);border-radius:21px;min-height:147px;padding:21px;box-shadow:0 12px 24px #0b494716}.health-summary article:nth-child(2){color:#76433a;background:linear-gradient(145deg,#ffe8dc,#f8bea8)}.health-summary article:nth-child(3){color:#365449;background:linear-gradient(145deg,#dff4e8,#a8dfbd)}.health-summary span{font-size:14px;font-weight:800}.health-summary strong{color:inherit;margin:8px 0;font-size:30px;display:block}.health-summary small{margin-left:4px;font-size:14px}.health-summary p{margin:0;font-size:13px;line-height:1.55}.health-upload-panel{color:#e9fbf5;background:radial-gradient(circle at 85% 0,#4f9790,#0000 38%),#084647;border-radius:25px;justify-content:space-between;align-items:center;gap:24px;margin-top:20px;padding:28px 34px;display:flex;box-shadow:0 17px 34px #073e3c22}.health-upload-panel h2{color:#fff}.health-upload-panel p{color:#ffc1ac}.health-upload-panel span{color:#d4eae3;max-width:700px;line-height:1.65;display:block}.health-results{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.health-results article{background:#fff;border:1px solid #d2e1db;border-left:6px solid #93aaa2;border-radius:16px;min-height:132px;padding:17px}.health-results article.high,.health-results article.low,.health-results article.borderline{border-left-color:#d0574c}.health-results article.normal{border-left-color:#268b66}.health-results span{color:#4a706c;font-weight:800;display:block}.health-results strong{margin:10px 0 6px;font-size:27px;display:block}.health-results small{color:#708581;margin-left:4px;font-size:13px}.health-results em{color:#647d78;font-size:13px;font-style:normal;font-weight:900}.health-results p{color:#718681;margin:7px 0 0;font-size:12px}.health-export{gap:8px;display:flex}.health-export a,.health-report-list a,.health-report-list button{color:#245853;cursor:pointer;font:inherit;background:#fff;border:1px solid #98b2aa;border-radius:999px;padding:9px 12px;font-size:13px;font-weight:900;text-decoration:none}.health-report-list{gap:0;display:grid}.health-report-list>article{border-bottom:1px solid #d8e4de;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:16px 0;display:grid}.health-report-list>article:last-child{border-bottom:0}.health-report-list strong{color:#1b4945;text-overflow:ellipsis;white-space:nowrap;font-size:16px;display:block;overflow:hidden}.health-report-list p{color:#6c8580;margin:6px 0 0;font-size:13px}.health-report-list .health-notice{color:#a54c3f}.health-report-list nav{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.health-report-list button.danger{color:#a1433d;background:#fff0ec;border-color:#e8aaa3}.health-empty{color:#5a7772;text-align:center;background:#ffffff91;border:1px dashed #a5beb5;border-radius:23px;margin-top:20px;padding:42px 22px}.health-empty.compact{width:100%;margin:0;padding:28px}.health-empty h2,.health-empty h3{color:var(--deep);margin:0}.health-empty p{max-width:590px;margin:11px auto 19px;line-height:1.7}.health-feedback{border-radius:15px;justify-content:space-between;align-items:center;gap:12px;margin-top:17px;padding:13px 17px;font-weight:800;display:flex}.health-feedback.error{color:#943f38;background:#ffe4dd}.health-feedback.success{color:#16614d;background:#d9f2e4}.health-feedback button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;font-weight:900;text-decoration:underline}.health-modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#062e30a8;place-items:center;padding:22px;display:grid;position:fixed;inset:0;overflow:auto}.health-modal{width:min(510px,100%);color:var(--ink);background:#fbfaf4;border-radius:25px;gap:14px;margin:auto;padding:30px;display:grid;box-shadow:0 25px 70px #001d1e66}.health-modal h2{color:var(--deep);margin:0}.health-modal>p{color:#58736e;margin:0}.health-modal label{color:#39635f;gap:7px;font-size:14px;font-weight:800;display:grid}.health-modal input,.health-modal select{width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fff;border:1px solid #a9c1b8;border-radius:11px;padding:9px 11px}.health-modal>div{justify-content:flex-end;gap:9px;display:flex}.health-modal .secondary{color:var(--deep);box-shadow:none;background:#e7f0eb}.health-loading{color:var(--deep);text-align:center;margin:0;padding:20vh 20px;font-size:20px;font-weight:900}@media (width<=900px){.health-hero{grid-template-columns:1fr;gap:22px}.health-summary,.health-results{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.health-page{padding-bottom:80px}.health-topbar{padding:0 14px}.health-hero,.health-panel,.health-upload-panel,.health-summary,.health-feedback,.health-empty{width:calc(100% - 28px)}.health-hero{padding:38px 0 26px}.health-hero h1{font-size:43px}.health-heading,.health-upload-panel{flex-direction:column;align-items:flex-start}.health-heading>button,.health-upload-panel>button{width:100%}.health-summary{gap:9px}.health-summary article{min-height:130px;padding:15px}.health-summary article:last-child{grid-column:1/-1}.health-results,.health-report-list>article{grid-template-columns:1fr}.health-report-list nav,.health-export{justify-content:stretch;width:100%}.health-report-list nav>*,.health-export a{text-align:center;flex:1}.health-modal-backdrop{align-items:end;padding:10px}.health-modal{border-radius:23px 23px 14px 14px}.health-feedback{flex-direction:column;align-items:flex-start}}.health-brand{font-weight:900;text-decoration:none}.health-actions{align-items:center;gap:10px;display:flex}.health-actions a{color:#245c59;white-space:nowrap;background:#fbfaf5;border:1px solid #9dbbb4;border-radius:999px;padding:10px 15px;font-size:14px;font-weight:900;text-decoration:none}.health-actions a:first-child{background:#e9f7f1;border-color:#5f9f93}.settings-management-note{color:#9fc4c3;margin:18px 0 0;font-size:13px;line-height:1.7}@media (width<=620px){.health-topbar{gap:10px;min-height:64px;padding:8px 14px}.health-brand{font-size:17px}.health-brand small{font-size:9px}.health-actions{gap:6px}.health-actions a{padding:9px 10px;font-size:12px}}:root{--ink:#17263a;--muted:#62728a;--line:#dce5eb;--paper:#fff;--wash:#edf3f5;--brand:#0f7667;--brand-dark:#075d51;--amber:#c77d11;--danger:#d15438;--shadow:0 18px 48px #102a3d12}html{scroll-behavior:smooth}body{min-width:320px;color:var(--ink);background:linear-gradient(#eaf2f3 0,#f7fafb 280px,#eff4f6 100%);margin:0;font-family:Microsoft JhengHei,Noto Sans TC,Arial,sans-serif}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{transition:transform .16s,box-shadow .16s,background .16s,border-color .16s}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #5bc9bc80}.dashboard-shell,.sign-shell,.print-shell{width:min(1180px,100% - 28px);margin:0 auto;padding:22px 0 64px}.command-hero{color:#f7ffff;isolation:isolate;background:radial-gradient(circle at 86% 12%,#54f0cf2c 0,#0000 22%),radial-gradient(circle at 8% 105%,#1c91c22e 0,#0000 42%),linear-gradient(126deg,#042d34 0%,#075f5b 53%,#08384f 100%);border:1px solid #6bf0d447;border-radius:30px;padding:clamp(24px,4vw,46px);position:relative;overflow:hidden;box-shadow:0 28px 62px #062e3445,inset 0 1px #effffb1f}.command-hero:before{z-index:-1;content:"";opacity:.38;pointer-events:none;background:linear-gradient(90deg,#0000 0 18%,#a0fff00a 18.15% 18.3%,#0000 18.45% 53%,#a0fff00a 53.15% 53.3%,#0000 53.45%),repeating-linear-gradient(0deg,#cffff409 0 1px,#0000 1px 42px);position:absolute;inset:0}.command-hero:after{z-index:-1;content:"";opacity:.72;pointer-events:none;background:linear-gradient(#0000,#8bffdf,#fff3b5 50%,#8bffdf,#0000);width:2px;height:120%;position:absolute;top:-10%;right:24%;transform:rotate(31deg);box-shadow:0 0 20px #66ffd0,0 0 50px #3ce5db88}.hero-grid{z-index:-2;opacity:.44;background-image:linear-gradient(#b6fff419 1px,#0000 1px),linear-gradient(90deg,#b6fff419 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 92%);mask-image:linear-gradient(90deg,#000,#0000 92%)}.hero-glow{z-index:-1;filter:blur(8px);pointer-events:none;border-radius:999px;position:absolute}.hero-glow-one{background:#64dfca38;width:300px;height:300px;top:-110px;right:15%}.hero-glow-two{background:#6b8fff28;width:330px;height:330px;bottom:-150px;left:-70px}.command-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.command-header .brand-lockup{isolation:isolate;background:linear-gradient(100deg,#031e2868,#0c806c28);border:1px solid #b6fff42e;border-radius:17px;gap:17px;margin:0;padding:11px 18px 11px 11px;position:relative;box-shadow:inset 0 1px #fff8,0 0 0 1px #9affef0d}.command-header .brand-lockup:before{z-index:-1;content:"";filter:blur(12px);background:radial-gradient(at 24%,#5fffe680 0,#0000 32%),radial-gradient(at 72% 45%,#65c9ff3d 0,#0000 45%);border-radius:24px;animation:2.8s ease-in-out infinite brand-pulse;position:absolute;inset:-16px}.command-header .brand-copy strong{color:#fff;letter-spacing:.08em;text-shadow:0 2px 12px #001a20;font-size:clamp(1.42rem,2.2vw,1.78rem);font-weight:900}.command-header .brand-copy small{color:#cdf9ef;letter-spacing:.05em;font-size:clamp(.92rem,1.22vw,1.08rem);font-weight:800}.header-tools{align-items:center;gap:12px;display:flex}.secure-badge{color:#e1fff9;background:#001d2152;border:1px solid #b9fff45c;border-radius:999px;padding:10px 14px;font-size:.95rem;font-weight:900;box-shadow:inset 0 1px #ffffff18,0 0 18px #37e1ce1c}.logout-button{color:#fff;cursor:pointer;background:#ffffff0d;border:1px solid #d8f9f070;border-radius:12px;min-height:44px;padding:9px 15px;font-size:.98rem;font-weight:900}.logout-button:hover{background:#ffffff24;box-shadow:0 0 18px #88fff339}.hero-content{grid-template-columns:1fr;gap:26px;margin-top:clamp(48px,6vw,78px);display:grid}.hero-kicker,.section-kicker{letter-spacing:.14em;margin:0 0 9px;font-size:.76rem;font-weight:900}.hero-kicker{color:#9fe4d7}.hero-copy h1{letter-spacing:-.06em;margin:0;font-size:clamp(2.3rem,5vw,4.2rem);line-height:1}.hero-copy p{color:#d3eeea;margin:15px 0 7px;font-size:clamp(1.08rem,2vw,1.3rem);font-weight:800}.hero-copy strong{color:#fff3cf;font-size:1.03rem;font-weight:800}.quick-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:100%;display:grid}.quick-action{color:#fff;text-align:left;cursor:pointer;border:1px solid #ffffff3d;border-radius:21px;grid-template-columns:auto 1fr;gap:4px 15px;min-height:138px;padding:23px 24px;display:grid;box-shadow:inset 0 1px #ffffff2e,0 16px 30px #001a2238}.quick-action>span{background:#ffffff25;border:1px solid #ffffff24;border-radius:15px;grid-row:span 2;place-items:center;width:50px;height:50px;font-size:2.15rem;font-weight:400;display:grid;box-shadow:inset 0 1px #ffffff25}.quick-action b{text-shadow:0 1px 8px #001a225c;align-self:end;font-size:clamp(1.22rem,1.6vw,1.5rem);line-height:1.2}.quick-action small{color:#ffffffdc;align-self:start;font-size:clamp(.92rem,1.05vw,1.04rem);font-weight:700;line-height:1.4}.quick-action:hover{transform:translateY(-4px);box-shadow:inset 0 1px #ffffff45,0 22px 38px #001a2250,0 0 24px #89fff12b}.upload-action{background:linear-gradient(135deg,#00af96,#087b70)}.share-action{background:linear-gradient(135deg,#7377f3,#414cac)}.download-action{background:linear-gradient(135deg,#f1af39,#c9760b)}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:34px;display:grid}.metric-card{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:linear-gradient(135deg,#ffffff1d,#ffffff0d);border:1px solid #e9fffb3d;border-radius:20px;grid-template-columns:1fr auto;gap:6px 15px;min-height:130px;padding:22px 24px;display:grid;box-shadow:inset 0 1px #fff3}.metric-card span{color:#e1fffa;font-size:1.08rem;font-weight:900}.metric-card strong{color:#fff;letter-spacing:-.08em;text-shadow:0 2px 18px #001d25;grid-row:span 2;align-self:center;font-size:3.55rem;line-height:1}.metric-card small{color:#daf6f1;font-size:.98rem;font-weight:700;line-height:1.4}.metric-card-complete{border-color:#9cffd44c}.metric-card-expiring.has-alert{background:linear-gradient(135deg,#d75d464f,#ce6b3638);border-color:#ff9a6f}.metric-card-expiring.has-alert span,.metric-card-expiring.has-alert small{color:#ffe1d2}.metric-card-expiring.has-alert strong{color:#fff4eb}.workspace-card{background:var(--paper);box-shadow:var(--shadow);border:1px solid #dce7eb;border-radius:24px;margin-top:22px;padding:clamp(20px,4vw,34px)}.workspace-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.section-kicker{color:var(--brand)}.workspace-heading h2{letter-spacing:-.035em;margin:0;font-size:clamp(1.35rem,3vw,1.75rem)}.workspace-heading p:not(.section-kicker){max-width:650px;color:var(--muted);margin:9px 0 0;font-size:.9rem;line-height:1.65}.expiry-pill{color:#21635c;background:#e9f7f4;border-radius:999px;flex:none;padding:8px 11px;font-size:.78rem;font-weight:800}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0 22px;display:grid}.field-grid label{color:#34435a;gap:7px;font-size:.89rem;font-weight:800;display:grid}.wide{grid-column:1/-1}input,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cbd8e1;border-radius:11px;outline:none;padding:12px}input:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px #0f76671b}textarea{resize:vertical;min-height:86px}.upload-status{color:#34435a;background:#f4faf9;border:1px dashed #93b7b7;border-radius:14px;gap:5px;padding:15px 17px;display:grid}.upload-status strong{font-size:.9rem}.upload-status span{color:var(--muted);font-size:.82rem;font-weight:700}.file-input-proxy{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.workspace-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:22px;display:flex}.primary,.secondary{cursor:pointer;border-radius:11px;min-height:46px;padding:10px 17px;font-weight:800}.primary{color:#fff;background:var(--brand);border:0;box-shadow:0 9px 18px #0b705f28}.primary:hover{background:var(--brand-dark);transform:translateY(-1px)}.primary:disabled,.secondary:disabled{opacity:.58;cursor:not-allowed;box-shadow:none;transform:none}.secondary{color:#34445c;background:#fff;border:1px solid #bdcbd6}.secondary:hover{background:#f1f6f7}.create-button{min-width:190px}.sales-handoff{background:linear-gradient(135deg,#f5f9ff,#edf5ff 52%,#f1fbf8);border:1px solid #a9c6ff;border-radius:18px;gap:16px;margin-top:24px;padding:22px;display:grid;box-shadow:0 12px 28px #2456a218}.sales-handoff-copy{align-items:flex-start;gap:14px;display:flex}.sales-handoff-copy>span{color:#fff;background:linear-gradient(135deg,#5a67d8,#3b4fb1);border-radius:14px;flex:none;place-items:center;width:46px;height:46px;font-size:1.7rem;font-weight:900;display:grid;box-shadow:0 9px 18px #4b5aca36}.sales-handoff-copy .section-kicker{color:#445bd1;margin-bottom:4px}.sales-handoff h3{color:#20325b;margin:0;font-size:1.28rem}.sales-handoff p:not(.section-kicker){color:#52647d;max-width:760px;margin:6px 0 0;font-size:.96rem;font-weight:700;line-height:1.65}.handoff-link{color:#344b6e;gap:7px;font-size:.88rem;font-weight:900;display:grid}.handoff-link input{color:#22375c;background:#fff;border-color:#a9bdd9;min-width:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.92rem}.handoff-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.handoff-line-button{background:#5265ca;box-shadow:0 9px 18px #4b5aca30}.handoff-line-button:hover{background:#4052b5}.notice{color:#0a6253;background:#eafaf5;border:1px solid #b7e5d9;border-radius:12px;margin:18px 0 0;padding:13px 15px;font-weight:700;line-height:1.5}.case-workspace{background:linear-gradient(145deg,#fff,#faffff)}.case-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:26px;display:grid}.case-card{background:#fff;border:1px solid #dce6eb;border-radius:18px;min-width:0;padding:19px;transition:transform .16s,box-shadow .16s,border-color .16s;box-shadow:0 8px 19px #162b3b0b}.case-card:hover{border-color:#bed5d5;transform:translateY(-2px);box-shadow:0 15px 28px #162b3b13}.case-card.is-expiring{border-color:#f1b095;box-shadow:inset 3px 0 #e66c45,0 8px 19px #162b3b0b}.case-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.case-label{color:#7d8ba0;margin:0 0 4px;font-size:.72rem;font-weight:800}.case-card h3{overflow-wrap:anywhere;letter-spacing:-.02em;margin:0;font-size:1.08rem}.status{white-space:nowrap;border-radius:99px;flex:none;align-items:center;min-height:29px;padding:5px 9px;font-size:.77rem;font-weight:900;display:inline-flex}.status.pending{color:#915b0c;background:#fff0d3}.status.signed{color:#07614e;background:#dff5e9}.status.void{color:#65758a;background:#edf1f4}.status.expiring{color:#a83d25;background:#ffe3d7}.case-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.case-details div{background:#f5f8fa;border-radius:11px;min-width:0;padding:10px}.case-details dt{color:#7b899d;margin-bottom:4px;font-size:.68rem;font-weight:800}.case-details dd{color:#36455b;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.8rem;font-weight:800;overflow:hidden}.case-details .expiry-alert{color:#c04d2c}.case-details em{color:#dc6542;white-space:normal;margin-top:4px;font-size:.67rem;font-style:normal;display:block}.case-actions{border-top:1px solid #e8eef1;justify-content:space-between;align-items:center;gap:12px;padding-top:15px;display:flex}.case-share,.case-download{color:#fff;cursor:pointer;background:#5265ca;border:0;border-radius:9px;align-items:center;min-height:36px;padding:8px 11px;font-weight:900;text-decoration:none;display:inline-flex}.case-download{background:#0b806b}.case-share:hover,.case-download:hover{filter:brightness(.96);transform:translateY(-1px)}.case-muted{color:#78869a;font-size:.8rem;font-weight:700}.delete-area{justify-items:end;gap:3px;display:grid}.danger-link{color:#c24631;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.82rem;font-weight:900}.danger-link:hover{text-decoration:underline}.danger-link:disabled{color:#98a2b3;cursor:wait}.delete-area small{color:#96a0ae;font-size:.65rem}.empty-state{text-align:center;justify-items:center;gap:7px;padding:42px 18px 20px;display:grid}.empty-state span{color:#168477;background:#e2f7f3;border-radius:15px;place-items:center;width:46px;height:46px;font-size:1.65rem;display:grid}.empty-state h3{margin:4px 0 0;font-size:1.1rem}.empty-state p{max-width:400px;color:var(--muted);margin:0;font-size:.86rem;line-height:1.6}.login-shell{background:radial-gradient(circle at 12% 12%,#e8f4ef 0,transparent 31%),var(--wash);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);background:#fff;border-radius:20px;width:min(100%,430px);padding:32px;box-shadow:0 16px 38px #17395718}.login-card p:not(.eyebrow){color:var(--muted);margin:10px 0 24px;line-height:1.6}.login-card form{gap:16px;display:grid}.login-note{border-top:1px solid var(--line);padding-top:16px;font-size:.82rem;margin:20px 0 0!important}.brand-lockup{color:#123b55;align-items:center;gap:10px;margin-bottom:18px;display:inline-flex}.brand-lockup img{object-fit:contain;object-position:left center;width:87px;height:32px;display:block}.brand-copy{gap:3px;line-height:1.05;display:grid}.brand-copy strong{letter-spacing:.08em;font-size:.95rem}.brand-copy small{color:var(--muted);letter-spacing:.04em;font-size:.7rem;font-weight:700}.eyebrow{color:var(--brand);letter-spacing:.08em;margin-bottom:6px;font-size:.82rem;font-weight:800}.error{color:#a52525;margin-top:16px;font-weight:700}.sign-shell{max-width:820px}.sign-header,.print-toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.sign-header{border-bottom:1px solid var(--line);padding-bottom:22px}.sign-header a{color:var(--brand);font-weight:800;text-decoration:none}.document{border:1px solid var(--line);background:#fff;border-radius:18px;margin-top:22px;padding:clamp(24px,5vw,56px);box-shadow:0 12px 28px #2239570b}.document-title{text-align:center;margin-bottom:32px}.doc-meta{background:#f5f8fb;border-radius:10px;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px;padding:14px;display:grid}.doc-row{margin:22px 0}.doc-row h3{margin:0 0 8px;font-size:1rem}.doc-row p{white-space:pre-wrap;margin:0;line-height:1.75}.signature-panel{border-top:1px dashed #b7c3d2;margin-top:30px;padding-top:26px}.checkline{align-items:flex-start;gap:9px;margin-bottom:18px;font-weight:600;display:flex}.checkline input{width:19px;height:19px;margin-top:2px}.signature-pad{touch-action:none;cursor:crosshair;background:#fbfdff;border:2px dashed #9aaabd;border-radius:12px;width:100%;height:190px}.signature-actions{gap:10px;margin-top:12px;display:flex}.completion{text-align:center}.completion .mark{color:#fff;background:var(--brand);border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto 14px;font-size:1.9rem;display:grid}.audit{color:#50617d;background:#f6f8fb;border-radius:10px;margin-top:24px;padding:14px;font-size:.86rem;line-height:1.65}.pdf-preview{background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;width:100%;height:min(72vh,760px);display:block}.pdf-review{background:#edf3f5;border:1px solid #d5e2e7;border-radius:18px;margin:26px 0;overflow:hidden}.pdf-review-heading{color:#294153;background:#fff;border-bottom:1px solid #dce6ea;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;display:flex}.pdf-review-heading h2{margin:0;font-size:1.15rem}.pdf-review-heading p:not(.eyebrow){color:#617287;margin:6px 0 0;font-size:.88rem;line-height:1.55}.pdf-review-heading span{color:#0b6b60;background:#e4f8f3;border-radius:999px;max-width:250px;padding:7px 10px;font-size:.76rem;font-weight:800;line-height:1.35}.pdf-review-pages{overscroll-behavior:contain;gap:18px;max-height:min(78vh,920px);padding:18px;display:grid;overflow:auto}.review-page-wrap{justify-items:center;gap:8px;width:100%;margin:0;display:grid}.review-page{background:#fff;border:1px solid #c5d1d9;max-width:100%;height:auto;display:block;box-shadow:0 7px 18px #162f431c}.review-page-wrap figcaption{color:#607186;font-size:.78rem;font-weight:700}.signature-step{align-items:flex-start;gap:10px;margin:23px 0 13px;display:flex}.signature-step>span{color:#fff;background:var(--brand);border-radius:50%;flex:none;place-items:center;width:27px;height:27px;font-size:.82rem;font-weight:900;display:grid}.signature-step strong{color:#24344a;font-size:1rem}.signature-step p{color:#68798c;margin:4px 0 0;font-size:.84rem;line-height:1.45}.preview-confirmation{background:#f0fbf8;border:1px solid #9bd8ce;border-radius:16px;margin-top:24px;padding:20px}.preview-confirmation .pdf-review{margin-bottom:0}.preview-actions{margin-top:16px}.position-editor{margin:4px 0 22px}.position-help{color:#35425b;gap:4px;margin:0 0 10px;font-size:.88rem;display:grid}.position-help span{color:var(--muted);font-weight:600}.position-preview{background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;width:min(100%,680px);min-height:260px;position:relative;overflow:hidden}.position-preview canvas{width:100%;height:auto;display:block}.position-box{color:#fff;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;border:2px solid;border-radius:5px;place-items:center;min-width:64px;font-size:clamp(.62rem,1.8vw,.82rem);font-weight:800;line-height:1;display:grid;position:absolute;box-shadow:0 1px 5px #17203335}.position-box:active{cursor:grabbing}.identity-box{background:#155eefbf;border-color:#155eef}.signature-box{background:#9e3ad4bb;border-color:#9e3ad4}.signature-image{border-bottom:1px solid #7d8aa0;max-width:280px;max-height:120px}.simple-message{text-align:center}.print-toolbar{margin-bottom:18px}.print-paper{background:#fff;max-width:794px;margin:0 auto;padding:55px;box-shadow:0 1px 10px #20374b28}.print-paper .document{box-shadow:none;border:0;margin:0;padding:0}@keyframes brand-pulse{0%,to{opacity:.6;transform:scale(.94)}50%{opacity:1;transform:scale(1.05)}}@media (width<=900px){.hero-content{grid-template-columns:1fr;gap:24px}.quick-actions{max-width:680px}.case-grid{grid-template-columns:1fr}}@media (width<=640px){.dashboard-shell,.sign-shell,.print-shell{width:min(100% - 20px,1180px);padding-top:10px}.command-hero{border-radius:21px;padding:20px}.command-header,.workspace-heading,.sign-header,.print-toolbar,.pdf-review-heading{flex-direction:column;align-items:flex-start}.command-header .brand-lockup{gap:12px;width:100%;padding:10px}.command-header .brand-lockup img{width:108px;height:40px}.header-tools{justify-content:space-between;width:100%}.hero-content{margin-top:46px}.hero-copy h1{font-size:2.35rem}.quick-actions{grid-template-columns:1fr}.quick-action{grid-template-columns:auto 1fr;min-height:94px;padding:16px}.quick-action>span{width:40px;height:40px;font-size:1.7rem}.quick-action b{align-self:end}.metric-grid{grid-template-columns:1fr;gap:10px}.metric-card{min-height:100px;padding:17px 18px}.metric-card span{font-size:1rem}.metric-card strong{font-size:2.8rem}.metric-card small{font-size:.9rem}.workspace-card{border-radius:18px;margin-top:14px;padding:20px}.expiry-pill{align-self:flex-start}.field-grid,.doc-meta{grid-template-columns:1fr;gap:13px;margin:21px 0}.wide{grid-column:auto}.workspace-actions{flex-direction:column-reverse;align-items:stretch}.workspace-actions button{width:100%}.sales-handoff{padding:18px}.sales-handoff-copy{gap:11px}.sales-handoff-copy>span{width:40px;height:40px;font-size:1.45rem}.sales-handoff h3{font-size:1.14rem}.sales-handoff p:not(.section-kicker){font-size:.9rem}.handoff-actions{flex-direction:column}.handoff-actions button{width:100%}.case-grid{gap:11px;margin-top:20px}.case-card{border-radius:15px;padding:16px}.case-details{grid-template-columns:1fr 1fr}.case-details div:last-child{grid-column:1/-1}.case-actions{flex-direction:column;align-items:flex-start}.delete-area{justify-items:start}.sign-header,.print-toolbar{gap:12px}.pdf-review-heading{padding:15px}.pdf-review-heading span{max-width:none}.pdf-review-pages{max-height:68vh;padding:12px}.preview-confirmation{padding:14px}.signature-actions{flex-direction:column}.signature-actions button{width:100%}.print-paper{padding:25px}.pdf-preview{height:68vh}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{body{background:#fff}.print-toolbar{display:none}.print-shell{width:100%;padding:0}.print-paper{max-width:none;box-shadow:none;padding:0}.audit{break-inside:avoid}}.command-hero:before{opacity:.5;background:linear-gradient(90deg,#0000 0 18%,#a0fff00a 18.15% 18.3%,#0000 18.45% 53%,#a0fff00a 53.15% 53.3%,#0000 53.45%),repeating-linear-gradient(0deg,#cffff409 0 1px,#0000 1px 42px),radial-gradient(at 76% 64%,#7b93ff22 0 2px,#0000 2.5px 31px,#0000 32px) 0 0/62px 62px}.command-header .brand-lockup img{filter:drop-shadow(0 0 15px #54ffdfd1)drop-shadow(0 1px #fff5);width:184px;height:68px}.hero-assurance{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.hero-assurance span{color:#dffff8;background:#021f2860;border:1px solid #c7fff047;border-radius:999px;padding:7px 10px;font-size:.76rem;font-weight:800;box-shadow:inset 0 1px #fff2}@media (width<=640px){.command-header .brand-lockup img{width:146px;height:54px}.hero-assurance{gap:6px}.hero-assurance span{font-size:.7rem}}.command-hero{background:radial-gradient(circle at 79% 36%,#6e8aff3a 0 1px,#0000 1.5px 32px) 0 0/64px 64px,radial-gradient(circle at 81% 47%,#24e0c830 0,#0000 28%),radial-gradient(circle at 8% 108%,#0f93bb35 0,#0000 48%),linear-gradient(126deg,#021a28 0%,#043f4d 46%,#10275a 100%);min-height:590px}.command-hero:after{opacity:.86;width:3px;right:19%;box-shadow:0 0 18px #66ffd0,0 0 64px #6594ffb8,0 0 112px #3ce5db42}.hero-copy{max-width:670px;padding:20px 0 26px;position:relative}.hero-copy:after{content:"";background:linear-gradient(132deg,#94ffec16,#0000 48%),repeating-linear-gradient(90deg,#0000 0 22px,#b9fff51b 22px 23px),repeating-linear-gradient(0deg,#0000 0 22px,#b9fff51b 22px 23px);border:1px solid #a6fff53d;border-radius:18px 54px 18px 18px;width:280px;height:160px;position:absolute;bottom:0;right:-330px;transform:perspective(500px)rotateY(-24deg)rotateX(5deg);box-shadow:inset 0 0 28px #5fffe61c,0 0 40px #4a83ff20}.quick-action{position:relative;overflow:hidden}.quick-action:after{content:"";border:1px solid #ffffff45;border-radius:50%;width:110px;height:110px;position:absolute;bottom:-34px;right:-22px;box-shadow:0 0 0 16px #ffffff08,0 0 0 32px #ffffff05}.quick-action>span,.quick-action b,.quick-action small{z-index:1;position:relative}.metric-card{position:relative;overflow:hidden}.metric-card:before{content:"";background:linear-gradient(90deg,#0000,#8fffe9,#0000);width:100%;height:2px;position:absolute;top:0;left:0}.metric-card-complete:before{background:linear-gradient(90deg,#0000,#b5ffcb,#0000)}.metric-card-expiring:before{background:linear-gradient(90deg,#0000,#ffd28d,#0000)}@media (width<=900px){.command-hero{min-height:0}.hero-copy:after{opacity:.42;right:0}}@media (width<=640px){.command-hero{background-size:52px 52px,auto,auto,auto;min-height:0}.hero-copy:after{display:none}}.command-header .brand-lockup img{object-fit:contain;filter:drop-shadow(0 0 13px #58ffe1a8)drop-shadow(0 2px 8px #001a20);background:#fff;border:1px solid #ffffff75;border-radius:11px;padding:7px 9px}@media (width<=640px){.command-header .brand-lockup{align-items:center}.command-header .brand-lockup img{width:136px;height:52px;padding:6px 7px}.command-header .brand-copy strong{letter-spacing:.035em;white-space:nowrap;font-size:1.2rem}.command-header .brand-copy small{letter-spacing:.02em;font-size:.78rem}}@media (width>=1200px){.dashboard-shell{width:min(1680px,100% - 56px)}.command-hero{min-height:620px}.hero-content{grid-template-columns:minmax(0,1fr)}.quick-actions{max-width:none}.command-hero{min-height:0;padding:26px 34px 28px}.hero-content{gap:16px;margin-top:24px}.hero-copy{padding:4px 0 8px}.hero-copy h1{font-size:clamp(2.75rem,4vw,3.65rem)}.hero-copy p{margin:8px 0 5px}.hero-assurance{margin-top:12px}.quick-actions{gap:14px}.quick-action{min-height:104px;padding:17px 20px}.quick-action b{font-size:1.28rem}.quick-action small{font-size:.94rem}.metric-grid{gap:14px;margin-top:16px}.metric-card{min-height:94px;padding:14px 20px}.metric-card strong{font-size:2.8rem}.metric-card span{font-size:1rem}.metric-card small{font-size:.88rem}.workspace-card{padding:38px 42px}.workspace-heading h2{font-size:2rem}.workspace-heading p:not(.section-kicker){font-size:1.08rem}.expiry-pill{font-size:.95rem}.field-grid{gap:20px;margin:32px 0 26px}.field-grid label{gap:9px;font-size:1.08rem}input,textarea{padding:15px 16px;font-size:1.08rem}.upload-status strong{font-size:1.08rem}.upload-status span{font-size:1rem}.position-help{font-size:1.05rem}.position-help span{font-size:1rem}.position-preview{width:min(100%,1280px);min-height:420px}.position-box{min-width:108px;font-size:1rem}}.position-editor{width:100%}.position-preview{border-radius:14px;width:100%;max-width:none;min-height:280px;overflow:auto hidden}.position-canvas-stage{background:#fff;min-width:0;min-height:280px;position:relative}.position-canvas-stage canvas{max-width:none;height:auto;display:block}.pdf-review-pages{padding:clamp(12px,2vw,28px)}.review-page{max-width:none}@media (width>=1200px){.command-hero{flex-direction:column;min-height:calc(100dvh - 56px);display:flex}.hero-content{margin-top:0}.metric-grid{margin-top:auto;margin-bottom:auto}.position-preview{width:100%;max-width:none;min-height:460px}.position-canvas-stage{min-height:460px}}@media (width<=640px){.position-preview{border-radius:12px;min-height:300px}.position-canvas-stage{min-height:300px}.pdf-review-pages{max-height:76dvh}}@media (width>=1200px){.quick-action{min-height:124px;padding:20px 24px}.quick-action>span{border-radius:17px;width:56px;height:56px;font-size:2.35rem}.quick-action b{font-size:1.48rem}.quick-action small{font-size:1.08rem;line-height:1.45}.metric-card{min-height:112px;padding:18px 24px}.metric-card span{font-size:1.16rem}.metric-card strong{font-size:3.3rem}.metric-card small{font-size:1.04rem}.workspace-heading h2{font-size:2.28rem}.workspace-heading p:not(.section-kicker){font-size:1.16rem;line-height:1.72}.section-kicker{font-size:.94rem}.expiry-pill{padding:10px 15px;font-size:1.04rem}.field-grid label{gap:10px;font-size:1.16rem}input,textarea{min-height:58px;padding:16px 18px;font-size:1.16rem}.upload-status{gap:8px;padding:19px 21px}.upload-status strong{font-size:1.2rem}.upload-status span{font-size:1.1rem}.position-help{gap:6px;font-size:1.18rem}.position-help span{font-size:1.08rem;line-height:1.55}.primary,.secondary{min-height:54px;padding:13px 22px;font-size:1.1rem}.notice{padding:17px 19px;font-size:1.1rem}.case-card{padding:24px}.case-label{font-size:.9rem}.case-card h3{font-size:1.36rem}.status{min-height:34px;padding:7px 12px;font-size:.9rem}.case-details{gap:12px;margin:21px 0}.case-details div{padding:13px}.case-details dt{font-size:.82rem}.case-details dd{font-size:1rem}.case-share,.case-download{min-height:44px;padding:10px 14px;font-size:1.05rem}.danger-link{font-size:.96rem}.delete-area small{font-size:.76rem}}.pdf-review-pages{-webkit-overflow-scrolling:touch;overflow-anchor:none;min-width:0;max-height:min(78dvh,920px);overflow:hidden auto}.review-page-wrap{min-width:0}.review-page{width:100%;max-width:100%;height:auto}.position-preview{min-width:0;overflow:hidden}.position-canvas-stage{width:100%;min-width:0;margin-inline:auto}.position-canvas-stage canvas{max-width:100%;height:auto}.position-page-controls{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;display:flex}.position-page-controls span{color:var(--muted);font-size:.85rem;font-weight:800}.position-page-controls .secondary{min-height:36px;padding:7px 10px;font-size:.82rem}@media (width<=640px){.pdf-review-pages{max-height:76dvh}.position-page-controls{align-items:stretch}.position-page-controls .secondary{flex:42%}}.review-page{filter:brightness(.8)contrast(1.2)}.completed-archive{scroll-margin-top:24px}.archive-toolbar{background:#f5fbf9;border:1px solid #d9e9e5;border-radius:14px;grid-template-columns:minmax(0,1fr) minmax(220px,.45fr);gap:14px;margin:24px 0 4px;padding:16px;display:grid}.archive-toolbar label{color:#34435a;gap:7px;font-size:.85rem;font-weight:800;display:grid}.archive-toolbar select{width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fff;border:1px solid #cbd8e1;border-radius:11px;padding:10px 12px}.archive-card{border-color:#b7ded5}.metric-action{color:#dffff8;font:inherit;cursor:pointer;background:0 0;border:0;grid-column:1/-1;justify-self:start;padding:0;font-size:.82rem;font-weight:900;text-decoration:underline}@media (width<=640px){.archive-toolbar{grid-template-columns:1fr;margin-top:18px}}.case-expiry-edit{color:#0b6f63;min-height:36px;font:inherit;cursor:pointer;background:#effaf7;border:1px solid #b9d9d2;border-radius:9px;align-items:center;padding:8px 11px;font-weight:900;display:inline-flex}.case-expiry-edit:hover{background:#e2f6f1;border-color:#73b9ad;transform:translateY(-1px)}.expiry-editor{background:#f3fbf9;border:1px solid #b9d9d2;border-radius:12px;align-items:end;gap:10px;margin:0 0 13px;padding:12px;display:flex}.expiry-editor label{color:#456a67;gap:5px;font-size:.78rem;font-weight:900;display:grid}.expiry-editor input{min-height:38px;color:var(--ink);font:inherit;background:#fff;border:1px solid #cbdde0;border-radius:8px;padding:8px 10px}.expiry-editor-actions{gap:7px;display:flex}.expiry-editor-actions .primary,.expiry-editor-actions .secondary{min-height:38px;padding:8px 11px;font-size:.8rem}@media (width<=640px){.expiry-editor{flex-direction:column;align-items:stretch}.expiry-editor-actions button{flex:1}.case-expiry-edit{min-height:42px}}*{box-sizing:border-box}html,body{background:#0b1b29;min-height:100%;margin:0}body{overflow-x:hidden}.esign-module-shell{background:#eaf2f3;min-height:100vh}.esign-module-nav{justify-content:flex-start;gap:10px;width:min(1180px,100% - 28px);margin:0 auto;padding:14px 0 0;display:flex}.esign-module-nav a{color:#075d51;background:#fff;border:1px solid #9bcfc7;border-radius:10px;align-items:center;min-height:40px;padding:8px 14px;font-weight:800;text-decoration:none;display:inline-flex}.esign-module-nav a:hover{background:#e9f7f4}.secure-home-shell{width:100%;height:100svh;position:relative;overflow:hidden}.secure-home-frame{background:#f4f1ec;border:0;width:100%;height:100%;display:block}.secure-mobile-account-link{z-index:5;border-radius:12px;width:17%;height:80px;display:block;position:absolute;top:0;right:5%}.collective-tour-shell{background:#f5f7f8;width:100%;height:100svh;overflow:hidden}.collective-tour-frame{border:0;width:100%;height:100%;display:block}.image-home{background:#0b1b29;justify-content:center;width:100%;min-height:100vh;display:flex}.image-home-frame{width:100%;max-width:1536px;position:relative}.image-home img{object-fit:contain;width:100%;height:auto;display:block}.hotspot{z-index:2;color:#0000;font-size:0;display:block;position:absolute}.hotspot:focus-visible{outline-offset:3px;border-radius:16px;outline:3px solid #35e3d0}.hotspot.disclosure{width:24%;height:8.5%;top:12.5%;right:4.2%}.hotspot.marketing{width:24%;height:8.5%;top:21.5%;right:4.2%}.hotspot.tax{width:24%;height:8.5%;top:30.5%;right:4.2%}.hotspot.tour{width:24%;height:8.5%;top:39.5%;right:4.2%}.hotspot.attendance{width:24%;height:8.5%;top:48.5%;right:4.2%}.hotspot.esign{width:24%;height:8.5%;top:57.5%;right:4.2%}.account-hotspot{z-index:3;color:#0000;width:13%;height:8%;font-size:0;position:absolute;top:1.6%;right:5.5%}.account-hotspot:focus-visible{outline-offset:3px;border-radius:999px;outline:3px solid #35e3d0}.module-hub,.module-detail{color:#e9f5f5;background:radial-gradient(circle at 80% 0,#14434d 0,#0000 42%),#081b29;min-height:100vh}.hub-topbar{justify-content:space-between;align-items:center;width:min(1120px,100% - 40px);margin:0 auto;padding:28px 0;display:flex}.hub-brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:inline-flex}.hub-brand-mark{color:#08202b;background:linear-gradient(135deg,#ff9c26,#2fe2d2);border-radius:12px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.hub-brand b,.hub-brand small{display:block}.hub-brand b{letter-spacing:.06em;font-size:18px}.hub-brand small{color:#83b8bc;margin-top:2px;font-size:12px}.hub-home-link{color:#8ce6dd;text-decoration:none}.hub-actions{align-items:center;gap:18px;display:flex}.install-button{color:#08202b;cursor:pointer;font:inherit;background:#5fe2d4;border:1px solid #5fe2d4;border-radius:999px;padding:10px 16px;font-size:13px;font-weight:700}.install-button,button,.settings-actions a,.module-card,.hub-home-link{--crystal-top:#b9fff8;--crystal-bottom:#2d91c5;--crystal-glow:#47dcff7a;background-image:linear-gradient(145deg, #ffffff9e, #ffffff0a 42%, #00264a42), linear-gradient(135deg, var(--crystal-top), var(--crystal-bottom));box-shadow:inset 0 1px #ffffffc7, inset 0 -5px 10px #002d3738, 0 7px 18px var(--crystal-glow);border:1px solid #cffffcb8;border-bottom:2px solid #00384180}.install-button:hover,button:hover,.settings-actions a:hover,.module-card:hover,.hub-home-link:hover{filter:brightness(1.08)saturate(1.08);box-shadow:inset 0 1px #ffffffe0, inset 0 -5px 10px #002d3733, 0 0 24px var(--crystal-glow), 0 10px 22px #082d3833}.install-button,.auth-form button,.member-form button,.member-permissions button{--crystal-top:#ffe4a8;--crystal-bottom:#e57a35;--crystal-glow:#ffa44b85}.module-card{background-color:#102e39c2}.settings-actions a,.hub-home-link{color:#06232a}.global-button-halo{animation:.42s ease-out globalButtonHalo}@keyframes globalButtonHalo{0%{box-shadow:0 0 #ff853eb8,0 0 #36e0be99}55%{box-shadow:0 0 0 10px #ff853e00,0 0 24px 5px #36e0be73}to{box-shadow:none}}.install-note{color:#83b8bc;font-size:12px}.hub-hero,.module-grid,.detail-content{width:min(1120px,100% - 40px);margin:0 auto}.hub-hero{padding:76px 0 42px}.hub-eyebrow{color:#5fe2d4;letter-spacing:.14em;margin:0 0 14px;font-size:12px}.hub-hero h1,.detail-hero h1{color:#fff;letter-spacing:-.04em;margin:0;font-size:clamp(36px,6vw,68px)}.hub-hero p:not(.hub-eyebrow),.detail-hero>p:last-child{color:#aac8ca;max-width:600px;margin:18px 0 0;font-size:18px;line-height:1.8}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-bottom:60px;display:grid}.module-card{min-height:170px;color:inherit;background:#102e39c2;border:1px solid #28515a;border-radius:22px;align-items:flex-start;gap:18px;padding:26px;text-decoration:none;transition:transform .2s,border-color .2s,background .2s;display:flex;position:relative}.module-card:hover{background:#16444beb;border-color:#5fe2d4;transform:translateY(-3px)}.module-card-icon,.detail-icon{color:#0b2932;background:#5fe2d4;border-radius:15px;flex:none;place-items:center;width:48px;height:48px;font-size:25px;font-weight:800;display:grid}.module-card.orange .module-card-icon,.detail-hero.orange .detail-icon{background:#ff9f2d}.module-card.purple .module-card-icon,.detail-hero.purple .detail-icon{background:#c7a7ff}.module-card.rose .module-card-icon,.detail-hero.rose .detail-icon{background:#ff94a8}.module-card.gold .module-card-icon,.detail-hero.gold .detail-icon{background:#f3cc68}.module-card-copy{padding-right:24px}.module-card-copy>span,.detail-panels span,.detail-status span{color:#83b8bc;letter-spacing:.05em;font-size:12px}.module-card h2{color:#fff;margin:10px 0 8px;font-size:22px}.module-card p,.detail-panels p,.detail-placeholder p{color:#a8c4c6;margin:0;line-height:1.7}.module-card-arrow{color:#5fe2d4;font-size:24px;position:absolute;bottom:22px;right:24px}.hub-footer{color:#67999c;text-align:center;padding:26px 20px 36px;font-size:12px}.device-panel{background:#091f2aad;border:1px solid #28515a;border-radius:18px;justify-content:space-between;align-items:center;gap:24px;width:min(1120px,100% - 40px);margin:0 auto 24px;padding:20px 24px;display:flex}.device-panel strong{color:#fff}.device-panel p{color:#83b8bc;margin:6px 0 0;font-size:13px}.storage-status{color:#78efc7;flex:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}.storage-status i{background:#78efc7;border-radius:50%;width:8px;height:8px;box-shadow:0 0 12px #78efc7}.detail-hero{background:linear-gradient(135deg,#174b50eb,#0b2330e0);border:1px solid #28515a;border-radius:30px;width:min(1120px,100% - 40px);margin:64px auto 0;padding:56px}.detail-hero.orange{background:linear-gradient(135deg,#663f19f2,#0b2330e0)}.detail-hero.purple{background:linear-gradient(135deg,#432e61f2,#0b2330e0)}.detail-hero.rose{background:linear-gradient(135deg,#602d3ff2,#0b2330e0)}.detail-hero.gold{background:linear-gradient(135deg,#5a471ef2,#0b2330e0)}.detail-icon{margin-bottom:30px}.detail-hero .hub-eyebrow{margin-bottom:12px}.detail-content{padding:30px 0 72px}.detail-status{border-bottom:1px solid #28515a;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.detail-status strong{color:#5fe2d4;font-weight:600}.detail-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px;display:grid}.detail-panels article,.detail-placeholder{background:#102e39a8;border:1px solid #28515a;border-radius:20px;padding:28px}.detail-panels h2{color:#fff;margin:12px 0 10px;font-size:22px}.detail-placeholder{text-align:center;margin-top:16px}.detail-placeholder span{color:#ffad45;font-size:13px}.detail-placeholder h2{color:#fff;margin:10px 0}.auth-page,.notice-page,.settings-page,.admin-page{color:#e7f6f4;background:radial-gradient(circle at 80% 10%,#1f8d8273,#0000 34%),linear-gradient(145deg,#071924,#123e43 62%,#0a202d);min-height:100vh}.auth-page{place-items:center;min-height:100svh;padding:28px;display:grid}.auth-panel{background:#071b29e0;border:1px solid #87e6d852;border-radius:30px;width:min(100%,460px);padding:clamp(28px,6vw,48px);box-shadow:0 30px 80px #00000057}.auth-brand{color:#fff;align-items:center;gap:12px;display:inline-flex}.auth-brand-mark{color:#083029;background:linear-gradient(135deg,#ff9d27,#55e0cd);border-radius:13px;place-items:center;width:45px;height:45px;font-weight:900;display:grid}.auth-brand b,.auth-brand small{display:block}.auth-brand b{letter-spacing:.06em;font-size:18px}.auth-brand small{color:#8cb9bd;font-size:11px}.auth-eyebrow,.admin-intro>p,.settings-card>p{color:#61ddcd;letter-spacing:.12em;margin:36px 0 8px;font-size:13px;font-weight:800}.auth-panel h1,.settings-card h1,.admin-intro h1{color:#fff;margin:0;font-size:clamp(30px,6vw,44px)}.auth-intro{color:#adcccd;margin:12px 0 24px;line-height:1.7}.auth-form,.member-form{gap:16px;display:grid}.auth-form label,.member-form label{color:#cce5e3;gap:8px;font-size:14px;font-weight:700;display:grid}.auth-form input,.member-form input,.member-form select{color:#f4ffff;width:100%;font:inherit;background:#081f2be6;border:1px solid #38616a;border-radius:12px;outline:none;padding:13px 14px}.auth-form input:focus,.member-form input:focus,.member-form select:focus{border-color:#58dccb;box-shadow:0 0 0 3px #58dccb29}.auth-form button,.member-form button,.settings-actions a,.member-state button,.settings-page header button{color:#06232a;cursor:pointer;font:inherit;text-align:center;background:linear-gradient(135deg,#62e3d0,#ffc158);border:0;border-radius:12px;padding:13px 16px;font-weight:900;text-decoration:none}.auth-form button:hover,.member-form button:hover,.settings-actions a:hover{filter:brightness(1.07);transform:translateY(-1px)}.auth-help{color:#85a9ad;margin:22px 0 0;font-size:13px;line-height:1.6}.auth-error{color:#ffe4dd;background:#ab38296b;border-radius:10px;margin:0 0 16px;padding:11px 12px;font-size:13px;display:block}.notice-page{place-items:center;padding:28px;display:grid}.notice-page section{text-align:center;background:#071b29db;border:1px solid #315b62;border-radius:26px;max-width:480px;padding:44px}.notice-page p{color:#ffba5e;font-weight:800}.notice-page h1{color:#fff;margin:8px 0 12px}.notice-page span{color:#a7c2c4;line-height:1.7}.notice-page a{color:#67e0d1;margin-top:24px;font-weight:800;display:inline-block}.settings-page,.admin-page{padding:0 20px 60px}.settings-page header,.admin-page>header{justify-content:space-between;align-items:center;width:min(1040px,100%);margin:0 auto;padding:26px 0;display:flex}.settings-page header a,.admin-page>header a{color:#80e4d8;font-weight:800;text-decoration:none}.settings-page header form{margin:0}.settings-page header button{background:#ffffffe6;padding:9px 13px}.settings-card{background:#081f2be0;border:1px solid #326069;border-radius:28px;width:min(620px,100%);margin:56px auto;padding:clamp(28px,5vw,48px)}.settings-card>p{margin-top:0}.settings-card dl{gap:12px;margin:28px 0;display:grid}.settings-card dl div{border-bottom:1px solid #7eb9b938;justify-content:space-between;gap:24px;padding:15px 0;display:flex}.settings-card dt{color:#8fb5b9}.settings-card dd{color:#fff;text-align:right;margin:0;font-weight:800}.settings-success{color:#bfffd8;background:#24876742;border-radius:10px;margin:18px 0;padding:12px;display:block}.settings-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.password-card>span{color:#8fb5b9;margin-top:16px;font-size:13px;display:block}.admin-page{color:#e6f5f5}.admin-intro,.admin-grid,.member-list,.admin-page>.settings-success{width:min(1040px,100%);margin-left:auto;margin-right:auto}.admin-intro{padding:40px 0 28px}.admin-intro>p{margin:0 0 8px}.admin-intro>span{color:#aac8ca;max-width:620px;margin-top:14px;line-height:1.7;display:block}.admin-grid{grid-template-columns:1.15fr .85fr;gap:18px;display:grid}.member-form,.role-guide,.member-list{background:#081f2bcc;border:1px solid #315e67;border-radius:22px;padding:26px}.member-form h2,.role-guide h2,.member-list h2{color:#fff;margin:0 0 20px}.member-form small{color:#8fb5b9}.role-guide dl{gap:14px;margin:0;display:grid}.role-guide dt{color:#66dfcf;font-weight:800}.role-guide dd{color:#a5c3c4;margin:5px 0 0;line-height:1.5}.member-list{margin-top:18px}.member-table{gap:8px;display:grid}.member-table article{border-bottom:1px solid #7eb9b933;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;display:flex}.member-table article:last-child{border-bottom:0}.member-table strong,.member-table span{display:block}.member-table strong{color:#fff}.member-table span{color:#92b4b8;margin-top:5px;font-size:13px}.member-state{align-items:center;gap:10px;display:flex}.member-state .active{color:#83efc8}.member-state .inactive{color:#ffb5aa}.member-state small{color:#ffcc70}.member-state form{margin:0}.member-state button{background:#dbecea;padding:8px 10px}.module-checklist{border:1px solid #38616a;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;padding:13px;display:grid}.module-checklist legend{color:#8fb5b9;padding:0 5px;font-size:12px}.module-checklist label{color:#d9efed;align-items:center;gap:7px;font-size:13px;font-weight:600;display:flex}.module-checklist input{accent-color:#5fe2d4;width:16px;height:16px}.member-permissions{margin-top:13px}.member-permissions summary{color:#73e4d5;cursor:pointer;font-size:13px;font-weight:800}.member-permissions form{gap:12px;margin-top:12px;display:grid}.member-permissions button{color:#06232a;cursor:pointer;font:inherit;background:#62e3d0;border:0;border-radius:10px;justify-self:start;padding:9px 12px;font-weight:800}@media (width<=720px){.hub-topbar,.hub-hero,.module-grid,.detail-content{width:min(100% - 28px,560px)}.hub-topbar{padding:18px 0}.hub-hero{padding:54px 0 28px}.module-grid,.detail-panels{grid-template-columns:1fr}.module-card{min-height:150px;padding:20px}.detail-hero{width:min(100% - 28px,560px);margin-top:34px;padding:30px 24px}.detail-status{flex-direction:column;align-items:flex-start;gap:8px}.hub-actions{gap:10px}.device-panel{flex-direction:column;align-items:flex-start;width:min(100% - 28px,560px)}.account-hotspot{width:16%;height:9%;top:1.2%;right:4%}.auth-page{padding:16px}.auth-panel{border-radius:22px}.settings-page,.admin-page{padding-left:14px;padding-right:14px}.settings-page header,.admin-page>header{padding:18px 0}.settings-card{margin:28px auto}.admin-grid{grid-template-columns:1fr}.member-table article{flex-direction:column;align-items:flex-start}.member-state{justify-content:space-between;width:100%}.settings-actions,.module-checklist{grid-template-columns:1fr}}button,.install-button,.settings-actions a,.hub-home-link,.member-state button,.member-permissions button{--crystal-top:#25d5ff;--crystal-bottom:#1244b7;--crystal-glow:#39dfffa8;transition:transform .14s,filter .14s,box-shadow .2s;position:relative;color:#fff!important;background:linear-gradient(180deg, #ffffff59, transparent 22%), linear-gradient(160deg, var(--crystal-top), var(--crystal-bottom))!important;box-shadow:inset 0 3px 0 #ffffffd6, inset 0 -10px 14px #001c3c80, 0 0 0 2px #ffffff6b, 0 10px 0 #071c3d, 0 16px 22px #00122980, 0 0 26px var(--crystal-glow)!important;text-shadow:0 4px 7px #00152fb8!important;border:3px solid #f6ffff!important;border-bottom:8px solid #052f64!important;border-radius:999px!important}button:after,.install-button:after,.settings-actions a:after,.hub-home-link:after{content:"";filter:blur(1px);opacity:.88;pointer-events:none;background:linear-gradient(#ffffffd1,#ffffff08);border-radius:999px;height:16%;position:absolute;top:8px;left:10%;right:14%}button:hover,.install-button:hover,.settings-actions a:hover,.hub-home-link:hover{filter:brightness(1.08)saturate(1.12);transform:translateY(-2px)}button:active,.install-button:active,.settings-actions a:active,.hub-home-link:active{transform:translateY(2px)scale(.97)}.settings-actions a:nth-child(2n),.hub-actions>:nth-child(2n),.module-card:nth-child(7n+2){--crystal-top:#d966ff;--crystal-bottom:#5713ba;--crystal-glow:#b76affb3}.settings-actions a:nth-child(3n),.module-card:nth-child(7n+3){--crystal-top:#ff63ae;--crystal-bottom:#c40065;--crystal-glow:#ff5cb7b3}.module-card:nth-child(7n+4){--crystal-top:#ffd83a;--crystal-bottom:#eb7e00;--crystal-glow:#ffc32bb3}.module-card:nth-child(7n+5){--crystal-top:#60f27c;--crystal-bottom:#119943;--crystal-glow:#54fa7ab3}.module-card:nth-child(7n+6){--crystal-top:#4ee4ff;--crystal-bottom:#0087a9;--crystal-glow:#39e8ffb3}.module-card:nth-child(7n+7){--crystal-top:#ffcc56;--crystal-bottom:#f2480d;--crystal-glow:#ff7d32b3}.auth-form button,.member-form button,.member-permissions button{padding:13px 20px}.password-field{width:100%;display:block;position:relative}.auth-form .password-field input{padding-right:52px}.auth-form button.password-toggle{place-items:center;width:38px;min-width:38px;height:38px;padding:0;font-size:24px;line-height:1;display:grid;position:absolute;top:50%;right:7px;transform:translateY(-50%);color:#78e4d9!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important;border:0!important;border-radius:9px!important}.auth-form button.password-toggle:after{display:none!important}.auth-form button.password-toggle:hover{color:#fff!important;filter:none!important;background:#5fe2d429!important;transform:translateY(-50%)!important}.auth-form button.password-toggle:active{transform:translateY(-50%)scale(.92)!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}.attendance-page{--ct-orange:#f47a1f;--ct-orange-dark:#d95c0b;--ct-green:#2f7d32;--ct-green-deep:#195426;--ct-green-soft:#eaf4e8;--ink:#193128;--muted:#64736d;--line:#d8e3dc;--paper:#fff;--canvas:#f5f8f5}.attendance-page *{box-sizing:border-box}.attendance-page{background:var(--canvas);background:radial-gradient(circle at 8% 0%, #f47a1f1a, transparent 28rem), linear-gradient(180deg, #fbfdfb 0%, var(--canvas) 100%);color:var(--ink);margin:0;font-family:Noto Sans TC,Microsoft JhengHei,PingFang TC,system-ui,sans-serif}.attendance-page button,.attendance-page select,.attendance-page input{font:inherit}.attendance-page .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.attendance-page button,.attendance-page a,.attendance-page select{-webkit-tap-highlight-color:transparent}.attendance-page .app-shell{width:min(100%,780px);min-height:100dvh;margin:0 auto;padding:0 28px 32px}.attendance-page .brand-stripe{grid-template-columns:2fr 1fr;height:8px;margin:0 -28px;display:grid}.attendance-page .brand-stripe span:first-child{background:var(--ct-green)}.attendance-page .brand-stripe span:last-child{background:var(--ct-orange)}.attendance-page .topbar{grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:24px 0 20px;display:grid}.attendance-page .brand-logo{flex:none;place-items:center;width:150px;height:68px;display:grid}.attendance-page .brand-logo img{object-fit:contain;width:100%;height:100%;display:block}.attendance-page .eyebrow{color:var(--ct-green);letter-spacing:.04em;margin:0 0 3px;font-size:14px;font-weight:800}.attendance-page .topbar h1{letter-spacing:-.04em;margin:0;font-size:clamp(23px,5vw,34px);font-weight:900}.attendance-page .manager-link{border:1px solid var(--line);color:var(--ink);background:#ffffffd9;border-radius:999px;padding:10px 14px;font-size:14px;font-weight:800;text-decoration:none}.attendance-page .clock-hero{background:linear-gradient(135deg, #ffffff0d, transparent 55%), linear-gradient(140deg, var(--ct-green-deep), var(--ct-green));color:#fff;text-align:center;border-radius:32px;padding:30px 24px 26px;position:relative;overflow:hidden;box-shadow:0 22px 48px #1954262e}.attendance-page .clock-hero:after{content:"";border:36px solid #ffffff0f;border-radius:50%;width:210px;height:210px;position:absolute;bottom:-85px;right:-55px}.attendance-page .live-pill{z-index:1;background:#00000014;border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:8px;padding:8px 13px;font-size:13px;font-weight:700;display:inline-flex;position:relative}.attendance-page .live-dot{background:#ffe083;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px #ffe08329}.attendance-page .current-time{z-index:1;letter-spacing:-.06em;font-variant-numeric:tabular-nums;margin-top:14px;font-size:clamp(54px,14vw,86px);font-weight:850;line-height:1;display:block;position:relative}.attendance-page .current-date{z-index:1;color:#ffffffd6;margin:11px 0 0;font-size:17px;font-weight:650;position:relative}.attendance-page .schedule-row{z-index:1;justify-content:center;align-items:center;gap:14px;margin-top:22px;font-size:15px;font-weight:800;display:flex;position:relative}.attendance-page .schedule-row i{background:var(--ct-orange);border-radius:50%;width:5px;height:5px}.attendance-page .clock-card,.attendance-page .notice-card{border:1px solid var(--line);background:#fffffff0;box-shadow:0 18px 40px #19312812}.attendance-page .clock-card{border-radius:28px;margin-top:20px;padding:26px}.attendance-page .card-heading{text-align:center}.attendance-page .step-badge{color:var(--ct-orange-dark);background:#fff1e6;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:850;display:inline-block}.attendance-page .card-heading h2{letter-spacing:-.035em;margin:13px 0 7px;font-size:clamp(26px,6vw,34px);font-weight:900}.attendance-page .card-heading p{max-width:510px;color:var(--muted);margin:0 auto;font-size:16px;line-height:1.7}.attendance-page .binding-form{gap:12px;margin-top:24px;display:grid}.attendance-page .binding-form label{font-size:16px;font-weight:850}.attendance-page .binding-form select{border:2px solid var(--line);width:100%;height:60px;color:var(--ink);background:#fff;border-radius:17px;outline:none;padding:0 16px;font-size:18px;font-weight:750}.attendance-page .binding-form select:focus{border-color:var(--ct-green);box-shadow:0 0 0 5px #2f7d321c}.attendance-page .primary-button{background:linear-gradient(135deg, var(--ct-orange), var(--ct-orange-dark));color:#fff;cursor:pointer;border:0;border-radius:19px;min-height:66px;margin-top:4px;padding:14px 20px;font-size:19px;font-weight:900;box-shadow:0 14px 30px #f47a1f3d}.attendance-page .primary-button:disabled{box-shadow:none;cursor:not-allowed;background:#cbd4ce}.attendance-page .pending-panel{background:var(--ct-green-soft);text-align:center;border-radius:22px;justify-items:center;gap:14px;margin-top:24px;padding:24px;display:grid}.attendance-page .pending-icon{background:var(--ct-green);color:#fff;border-radius:50%;place-items:center;width:54px;height:54px;font-size:27px;font-weight:900;display:grid}.attendance-page .pending-panel strong{font-size:19px}.attendance-page .pending-panel p{color:var(--muted);margin:5px 0 0;line-height:1.6}.attendance-page .pending-panel button{color:var(--ct-green);cursor:pointer;background:0 0;border:0;font-weight:800;text-decoration:underline}.attendance-page .pending-panel>.primary-button{background:linear-gradient(135deg, var(--ct-orange), var(--ct-orange-dark));color:#fff;width:min(100%,420px);text-decoration:none}.attendance-page .form-alert{border:1px solid;border-radius:18px;margin-top:16px;padding:15px 18px;font-size:16px;font-weight:800;line-height:1.5}.attendance-page .error-alert{color:#9c2f25;background:#fff2f0;border-color:#f2c1bd}.attendance-page .success-alert{background:var(--ct-green-soft);color:var(--ct-green-deep);border-color:#b9d9b9}.attendance-page .loading-panel{min-height:180px;color:var(--muted);place-content:center;justify-items:center;gap:17px;font-size:18px;display:grid}.attendance-page .loading-spinner{border:5px solid var(--ct-green-soft);border-top-color:var(--ct-green);border-radius:50%;width:42px;height:42px;animation:.9s linear infinite spin}.attendance-page .approved-panel{gap:22px;display:grid}.attendance-page .employee-welcome{grid-template-columns:auto 1fr auto;align-items:center;gap:14px;display:grid}.attendance-page .employee-avatar,.attendance-page .person-avatar{background:var(--ct-green-soft);color:var(--ct-green-deep);border-radius:50%;place-items:center;font-weight:900;display:grid}.attendance-page .employee-avatar{width:60px;height:60px;font-size:25px}.attendance-page .employee-welcome span:not(.employee-avatar,.attendance-page .verified-pill){color:var(--muted);font-size:14px;font-weight:750}.attendance-page .employee-welcome h2{margin:1px 0 0;font-size:29px}.attendance-page .verified-pill,.attendance-page .presence-pill{background:var(--ct-green-soft);color:var(--ct-green-deep);border-radius:999px;padding:8px 12px;font-size:13px;font-weight:850}.attendance-page .today-status{border:1px solid var(--line);background:#f8faf8;border-radius:21px;grid-template-columns:repeat(2,1fr);display:grid;overflow:hidden}.attendance-page .today-status>div{text-align:center;gap:4px;padding:18px;display:grid}.attendance-page .today-status>div+div{border-left:1px solid var(--line)}.attendance-page .today-status span{color:var(--muted);font-size:14px;font-weight:750}.attendance-page .today-status strong{font-size:21px}.attendance-page .today-status small{font-weight:850}.attendance-page .today-status .done{background:#f0f8ef}.attendance-page .late,.attendance-page .early{color:var(--ct-orange-dark)}.attendance-page .normal{color:var(--ct-green)}.attendance-page .punch-buttons{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.attendance-page .punch-button{color:#fff;cursor:pointer;border:0;border-radius:24px;min-height:132px;box-shadow:0 16px 34px #19312824}.attendance-page .punch-button span,.attendance-page .punch-button strong{display:block}.attendance-page .punch-button span{margin-bottom:5px;font-size:16px;font-weight:750}.attendance-page .punch-button strong{font-size:25px}.attendance-page .clock-in-button{background:linear-gradient(145deg, var(--ct-green), var(--ct-green-deep))}.attendance-page .clock-out-button{background:linear-gradient(145deg, var(--ct-orange), var(--ct-orange-dark))}.attendance-page .punch-button:disabled{box-shadow:none;cursor:not-allowed;background:#cbd4ce}.attendance-page .busy-note{color:var(--muted);text-align:center;margin:-5px 0 0;font-size:14px}.attendance-page .notice-card{border-radius:22px;align-items:center;gap:14px;margin-top:16px;padding:18px 20px;display:flex}.attendance-page .notice-icon{height:38px;color:var(--ct-orange-dark);background:#fff1e6;border-radius:50%;flex:0 0 38px;place-items:center;font-family:Georgia,serif;font-size:21px;font-weight:800;display:grid}.attendance-page .notice-card strong{font-size:15px}.attendance-page .notice-card p{color:var(--muted);margin:3px 0 0;font-size:14px;line-height:1.55}.attendance-page footer{color:#78857f;justify-content:space-between;gap:16px;padding:24px 4px 0;font-size:12px;display:flex}.attendance-page .admin-shell{width:min(100%,1240px);min-height:100dvh;margin:0 auto;padding:0 28px 42px}.attendance-page .admin-stripe{margin:0 -28px}.attendance-page .admin-header{justify-content:space-between;align-items:center;gap:24px;padding:28px 0 24px;display:flex}.attendance-page .admin-brand{align-items:center;gap:16px;display:flex}.attendance-page .admin-header h1{letter-spacing:-.045em;margin:2px 0 5px;font-size:clamp(30px,5vw,46px)}.attendance-page .admin-brand>div:last-child>p:last-child{color:var(--muted);margin:0;font-weight:650}.attendance-page .admin-header nav{gap:10px;display:flex}.attendance-page .admin-header nav a,.attendance-page .admin-header nav button,.attendance-page .panel-title>button,.attendance-page .export-controls a,.attendance-page .attendance-controls a,.attendance-page .attendance-controls button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:13px;padding:11px 14px;font-weight:800;text-decoration:none}.attendance-page .admin-header nav button{background:var(--ct-green);color:#fff}.attendance-page .admin-alert{color:#9c2f25;background:#fff2f0;border:1px solid #f2c1bd;border-radius:16px;margin-bottom:18px;padding:14px 17px;font-weight:800}.attendance-page .admin-success{color:var(--ct-green-deep);background:#edf7ec;border:1px solid #bcd9bd;border-radius:16px;margin-bottom:18px;padding:14px 17px;font-weight:800}.attendance-page .monthly-report-notice{background:linear-gradient(120deg,#edf7ecf5,#fff8eef0);border:1px solid #a9cfaf;border-radius:22px;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-bottom:18px;padding:18px 20px;display:grid;box-shadow:0 12px 28px #19542614}.attendance-page .monthly-report-notice-icon,.attendance-page .monthly-report-file-icon{background:var(--ct-green);color:#fff;letter-spacing:.04em;border-radius:13px;place-items:center;font-size:11px;font-weight:950;display:grid}.attendance-page .monthly-report-notice-icon{width:54px;height:54px}.attendance-page .monthly-report-notice>div:nth-child(2){gap:3px;display:grid}.attendance-page .monthly-report-notice span{color:var(--ct-orange);font-size:13px;font-weight:900}.attendance-page .monthly-report-notice h2,.attendance-page .monthly-report-notice p{margin:0}.attendance-page .monthly-report-notice h2{font-size:21px}.attendance-page .monthly-report-notice p{color:var(--muted);font-size:13px}.attendance-page .monthly-report-notice a,.attendance-page .monthly-report-row a{background:var(--ct-green);color:#fff;text-align:center;border-radius:13px;padding:11px 15px;font-weight:850;text-decoration:none}.attendance-page .summary-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.attendance-page .summary-card{border:1px solid var(--line);background:#fff;border-radius:23px;grid-template-columns:1fr auto;align-items:end;padding:21px;display:grid;box-shadow:0 12px 28px #1931280f}.attendance-page .summary-card span{color:var(--muted);grid-column:1/-1;margin-bottom:14px;font-weight:800}.attendance-page .summary-card strong{font-size:42px;line-height:1}.attendance-page .summary-card small{color:var(--muted);font-weight:750}.attendance-page .summary-green{background:linear-gradient(145deg, var(--ct-green), var(--ct-green-deep));color:#fff;border-color:#0000}.attendance-page .summary-orange{background:linear-gradient(145deg, var(--ct-orange), var(--ct-orange-dark));color:#fff;border-color:#0000}.attendance-page .summary-green span,.attendance-page .summary-green small,.attendance-page .summary-orange span,.attendance-page .summary-orange small{color:#ffffffd1}.attendance-page .trend-panel{background:radial-gradient(circle at 100% 0,#f47a1f14,#0000 25rem),#fff;border-color:#cbdccc;overflow:hidden}.attendance-page .trend-panel-title{align-items:flex-end}.attendance-page .trend-controls{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:10px;display:flex}.attendance-page .trend-controls label{gap:6px;display:grid}.attendance-page .trend-controls label>span{color:var(--muted);font-size:12px;font-weight:800}.attendance-page .trend-controls select,.attendance-page .trend-controls input{border:1px solid var(--line);min-width:138px;height:46px;color:var(--ink);background:#fff;border-radius:13px;outline:none;padding:0 12px;font-weight:800}.attendance-page .trend-controls select:focus,.attendance-page .trend-controls input:focus{border-color:var(--ct-green);box-shadow:0 0 0 4px #2f7d321a}.attendance-page .trend-actions{justify-content:flex-end;gap:9px;margin:-4px 0 16px;display:flex}.attendance-page .trend-actions button{border:1px solid var(--line);min-height:46px;color:var(--ink);cursor:pointer;background:#fff;border-radius:13px;padding:10px 15px;font-weight:850}.attendance-page .trend-actions button:first-child{background:var(--ct-green);color:#fff;border-color:#0000}.attendance-page .trend-actions .share-chart-button{background:var(--ct-orange);color:#fff;border-color:#0000}.attendance-page .trend-actions button:disabled{cursor:not-allowed;opacity:.5}.attendance-page .trend-total-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px;display:grid}.attendance-page .trend-total{background:#f5f8f5;border-radius:16px;grid-template-columns:1fr auto auto;align-items:end;gap:6px;padding:14px 16px;display:grid}.attendance-page .trend-total span{color:var(--muted);grid-column:1/-1;font-size:13px;font-weight:800}.attendance-page .trend-total strong{font-size:28px;line-height:1}.attendance-page .trend-total small{color:var(--muted);font-weight:750}.attendance-page .trend-total.attendance{background:#edf7ec}.attendance-page .trend-total.late{background:#fff1e6}.attendance-page .trend-total.absent{background:#fff2f0}.attendance-page .trend-total.personal-leave{background:#f2efff}.attendance-page .trend-total.sick-leave{background:#e9f8f7}.attendance-page .trend-total.unauthorized-absence{background:#edf0f2}.attendance-page .trend-chart-wrap{border:1px solid var(--line);background:#fff;border-radius:20px;padding:8px;overflow-x:auto}.attendance-page .trend-chart{width:100%;min-width:720px;height:auto;display:block}.attendance-page .admin-columns{grid-template-columns:1.55fr .85fr;gap:18px;margin-top:18px;display:grid}.attendance-page .admin-panel{border:1px solid var(--line);background:#fffffff5;border-radius:26px;margin-top:18px;padding:23px;box-shadow:0 15px 34px #1931280f}.attendance-page .admin-columns>.admin-panel{margin-top:0}.attendance-page .panel-title,.attendance-page .history-title{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.attendance-page .panel-title h2{letter-spacing:-.025em;margin:8px 0 0;font-size:24px}.attendance-page .empty-state{color:var(--muted);text-align:center;background:#f6f8f6;border-radius:17px;margin:0;padding:26px;font-weight:750}.attendance-page .approval-list{gap:11px;display:grid}.attendance-page .approval-card{border:1px solid var(--line);border-radius:18px;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:16px;display:grid}.attendance-page .approval-card>div:first-child{gap:3px;display:grid}.attendance-page .approval-card strong{font-size:19px}.attendance-page .approval-card span,.attendance-page .approval-card small{color:var(--muted)}.attendance-page .approval-actions{gap:8px;display:flex}.attendance-page .approval-actions button{cursor:pointer;border:0;border-radius:12px;min-width:76px;padding:11px 14px;font-weight:850}.attendance-page .approve-button{background:var(--ct-green);color:#fff}.attendance-page .reject-button{color:var(--muted);background:#f0f2f0}.attendance-page .approval-actions button:disabled{opacity:.5}.attendance-page .approval-panel-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.attendance-page .approval-panel-actions button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:13px;padding:11px 14px;font-weight:800}.attendance-page .approval-panel-actions .approval-toggle{background:var(--ct-green);color:#fff}.attendance-page .qr-panel{text-align:center}.attendance-page .qr-panel .panel-title{justify-content:center}.attendance-page .qr-panel>p{color:var(--muted);margin:-7px 0 12px;line-height:1.6}.attendance-page .qr-print-brand{display:none}.attendance-page .qr-code,.attendance-page .qr-placeholder{aspect-ratio:1;border-radius:15px;width:min(100%,250px);margin:0 auto 8px;display:block}.attendance-page .qr-placeholder{color:var(--muted);background:#f4f6f4;place-items:center;display:grid}.attendance-page .qr-panel .primary-button{border-radius:15px;width:min(100%,250px);min-height:52px;font-size:16px}.attendance-page .personnel-title{align-items:flex-end}.attendance-page .employee-add-form{gap:9px;display:flex}.attendance-page .employee-add-form input{border:2px solid var(--line);min-width:210px;height:48px;color:var(--ink);background:#fff;border-radius:14px;outline:none;padding:0 14px}.attendance-page .employee-add-form input:focus{border-color:var(--ct-green);box-shadow:0 0 0 4px #2f7d321a}.attendance-page .employee-add-form button,.attendance-page .personnel-row>button{cursor:pointer;border:0;border-radius:13px;min-height:48px;padding:10px 16px;font-weight:850}.attendance-page .employee-add-form button{background:var(--ct-green);color:#fff}.attendance-page .employee-add-form button:disabled,.attendance-page .personnel-row>button:disabled{cursor:not-allowed;opacity:.5}.attendance-page .personnel-note{color:var(--muted);margin:-5px 0 16px;font-size:14px;line-height:1.65}.attendance-page .personnel-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.attendance-page .personnel-row{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:11px;padding:13px;display:grid}.attendance-page .personnel-row.inactive{opacity:.78;background:#f6f7f6}.attendance-page .personnel-row>div{gap:3px;display:grid}.attendance-page .personnel-row>div>strong{font-size:17px}.attendance-page .personnel-row>div>span{color:var(--muted);font-size:12px;font-weight:700}.attendance-page .employee-status{color:var(--muted);background:#ecefec;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:850}.attendance-page .employee-status.active{background:var(--ct-green-soft);color:var(--ct-green-deep)}.attendance-page .deactivate-button{color:#9c2f25;background:#fff0ee}.attendance-page .reactivate-button{background:var(--ct-green);color:#fff}.attendance-page .attendance-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.attendance-page .attendance-card{border:1px solid var(--line);border-radius:19px;padding:16px}.attendance-page .person-row{grid-template-columns:auto 1fr auto;align-items:center;gap:9px;display:grid}.attendance-page .person-avatar{width:38px;height:38px}.attendance-page .person-row strong{font-size:17px}.attendance-page .presence-pill{color:var(--muted);background:#f0f2f0;padding:6px 8px;font-size:11px}.attendance-page .presence-pill.present{background:var(--ct-green-soft);color:var(--ct-green-deep)}.attendance-page .punch-pair{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:15px;display:grid}.attendance-page .punch-pair>div{background:#f6f8f6;border-radius:12px;gap:3px;padding:10px;display:grid}.attendance-page .punch-pair span{color:var(--muted);font-size:12px;font-weight:750}.attendance-page .punch-pair strong{font-size:18px}.attendance-page .punch-pair small{font-weight:850}.attendance-page .export-controls{gap:8px;display:flex}.attendance-page .export-controls input{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:13px;padding:9px 12px;font-weight:750}.attendance-page .export-controls a{background:var(--ct-green);color:#fff}.attendance-page .attendance-controls{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.attendance-page .attendance-controls input{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:13px;padding:9px 12px;font-weight:750}.attendance-page .attendance-controls button{background:#fff}.attendance-page .attendance-controls button:disabled{cursor:not-allowed;opacity:.55}.attendance-page .attendance-controls a{background:var(--ct-green);color:#fff}.attendance-page .monthly-note{color:var(--muted);margin:-6px 0 16px;font-size:14px;line-height:1.65}.attendance-page .inline-error{color:#9c2f25;background:#fff2f0;border-radius:14px;margin-bottom:14px;padding:12px 14px;font-weight:800}.attendance-page .history-table-wrap{overflow-x:auto}.attendance-page .history-table-wrap table{border-collapse:collapse;white-space:nowrap;width:100%}.attendance-page .history-table-wrap th,.attendance-page .history-table-wrap td{border-bottom:1px solid var(--line);text-align:left;padding:14px 12px}.attendance-page .history-table-wrap th{color:var(--muted);font-size:13px}.attendance-page .status-chip{background:var(--ct-green-soft);border-radius:999px;padding:6px 10px;font-size:13px;font-weight:850;display:inline-block}.attendance-page .status-chip.late,.attendance-page .status-chip.early{background:#fff1e6}.attendance-page .monthly-table{min-width:1040px}.attendance-page .attendance-result{color:var(--ct-green-deep);background:#edf7ec;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:850;display:inline-block}.attendance-page .attendance-result.late,.attendance-page .attendance-result.early,.attendance-page .attendance-result.late_early{color:#a5480d;background:#fff1e6}.attendance-page .attendance-result.working{color:#225b99;background:#e9f2ff}.attendance-page .attendance-result.missing_clock_out{color:#9c2f25;background:#fff2f0}.attendance-page .attendance-result.absent{color:var(--muted);background:#ecefec}.attendance-page .attendance-result-select{min-width:174px;color:var(--ct-green-deep);font:inherit;cursor:pointer;background:#edf7ec;border:1px solid #0000;border-radius:999px;padding:7px 30px 7px 11px;font-size:13px;font-weight:850}.attendance-page .attendance-result-select:focus{border-color:var(--ct-green);outline:none;box-shadow:0 0 0 3px #2f7d3224}.attendance-page .attendance-result-select:disabled{cursor:wait;opacity:.62}.attendance-page .attendance-result-select.personal_leave{color:#5d459f;background:#f2efff}.attendance-page .attendance-result-select.sick_leave{color:#087273;background:#e9f8f7}.attendance-page .attendance-result-select.unauthorized_absence{color:#42515c;background:#edf0f2}.attendance-page .attendance-adjustment-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.attendance-page .attendance-adjustment-actions button{color:#9c4c12;cursor:pointer;font:inherit;background:#fff7ef;border:1px solid #f3bf8f;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:850}.attendance-page .attendance-adjustment-actions button:hover{border-color:var(--ct-orange);background:#fff0df}.attendance-page .adjustment-note{color:var(--muted);font-size:12px;font-weight:800}.attendance-page .attendance-adjustment-modal-backdrop{z-index:50;background:#12281c8f;place-items:center;padding:22px;display:grid;position:fixed;inset:0;overflow-y:auto}.attendance-page .attendance-adjustment-modal{background:#fff;border:1px solid #c9dace;border-radius:24px;width:min(100%,580px);padding:24px;box-shadow:0 28px 72px #081e1247}.attendance-page .adjustment-modal-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.attendance-page .adjustment-modal-heading h2{margin:7px 0 6px;font-size:24px}.attendance-page .adjustment-modal-heading p{color:var(--muted);margin:0;font-size:14px;font-weight:700}.attendance-page .modal-close-button{width:38px;height:38px;color:var(--ink);cursor:pointer;background:#eff4f0;border:0;border-radius:50%;font-size:28px;line-height:1}.attendance-page .adjustment-field{gap:7px;margin-top:14px;display:grid}.attendance-page .adjustment-field>span,.attendance-page .adjustment-history>strong{color:var(--muted);font-size:13px;font-weight:850}.attendance-page .adjustment-field select,.attendance-page .adjustment-field input,.attendance-page .adjustment-field textarea{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:13px;padding:11px 12px;font-weight:700}.attendance-page .adjustment-field textarea{resize:vertical;min-height:94px}.attendance-page .adjustment-field select:focus,.attendance-page .adjustment-field input:focus,.attendance-page .adjustment-field textarea:focus{border-color:var(--ct-green);outline:none;box-shadow:0 0 0 4px #2f7d321a}.attendance-page .adjustment-history{border-top:1px solid var(--line);gap:8px;margin-top:18px;padding-top:16px;display:grid}.attendance-page .adjustment-history p{background:#f5f8f5;border-radius:12px;gap:3px;margin:0;padding:10px 11px;font-size:13px;line-height:1.45;display:grid}.attendance-page .adjustment-history p small{color:var(--muted);font-size:12px}.attendance-page .adjustment-modal-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.attendance-page .adjustment-modal-actions button{border:1px solid var(--line);min-height:45px;color:var(--ink);cursor:pointer;font:inherit;background:#fff;border-radius:13px;padding:10px 16px;font-weight:850}.attendance-page .adjustment-modal-actions .save-adjustment-button{background:var(--ct-green);color:#fff;border-color:#0000}.attendance-page .adjustment-modal-actions button:disabled,.attendance-page .modal-close-button:disabled{cursor:not-allowed;opacity:.55}.attendance-page .monthly-report-list{gap:10px;display:grid}.attendance-page .monthly-report-row{border:1px solid var(--line);background:#fbfcfb;border-radius:17px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:13px;padding:13px 14px;display:grid}.attendance-page .monthly-report-file-icon{width:44px;height:44px}.attendance-page .monthly-report-row>div:nth-child(2){gap:3px;display:grid}.attendance-page .monthly-report-row strong{font-size:16px}.attendance-page .monthly-report-row div span{color:var(--muted);font-size:12px;font-weight:700}.attendance-page .report-status{color:#a5480d;background:#fff1e6;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:850}.attendance-page .report-status.downloaded{background:var(--ct-green-soft);color:var(--ct-green-deep)}.attendance-page .admin-footer{justify-content:center}.attendance-page .admin-denied{place-items:center;min-height:100dvh;padding:24px;display:grid}.attendance-page .admin-denied section{border:1px solid var(--line);text-align:center;background:#fff;border-radius:28px;width:min(100%,520px);padding:34px;box-shadow:0 18px 42px #19312817}.attendance-page .admin-denied h1{margin:16px 0 8px;font-size:31px}.attendance-page .admin-denied p{color:var(--muted)}.attendance-page .admin-denied a{background:var(--ct-green);color:#fff;border-radius:14px;margin-top:10px;padding:12px 16px;font-weight:800;text-decoration:none;display:inline-block}@media (width<=620px){.attendance-page .app-shell{padding:0 16px 26px}.attendance-page .brand-stripe{margin:0 -16px}.attendance-page .topbar{grid-template-columns:auto 1fr;gap:12px;padding-top:18px}.attendance-page .brand-logo{width:116px;height:54px}.attendance-page .eyebrow{font-size:12px}.attendance-page .manager-link{text-align:center;grid-column:1/-1;justify-self:stretch;padding:11px}.attendance-page .clock-hero{border-radius:25px;padding:26px 16px 23px}.attendance-page .clock-card{border-radius:24px;padding:23px 18px}.attendance-page .binding-form select{height:62px}.attendance-page .punch-buttons{grid-template-columns:1fr}.attendance-page .punch-button{min-height:105px}.attendance-page .employee-welcome{grid-template-columns:auto 1fr}.attendance-page .verified-pill{text-align:center;grid-column:1/-1}.attendance-page footer{text-align:center;flex-direction:column;align-items:center;gap:6px}}@media (width<=980px){.attendance-page .summary-grid,.attendance-page .attendance-grid{grid-template-columns:repeat(2,1fr)}.attendance-page .admin-columns,.attendance-page .personnel-list{grid-template-columns:1fr}}@media (width<=680px){.attendance-page .admin-shell{padding:0 14px 28px}.attendance-page .admin-stripe{margin:0 -14px}.attendance-page .admin-header{flex-direction:column;align-items:flex-start}.attendance-page .admin-header nav{flex-wrap:wrap;width:100%}.attendance-page .admin-header nav a{text-align:center;flex:1}.attendance-page .admin-header nav button{flex:100%}.attendance-page .summary-grid,.attendance-page .attendance-grid{grid-template-columns:1fr}.attendance-page .monthly-report-notice{grid-template-columns:auto 1fr}.attendance-page .monthly-report-notice>a{grid-column:1/-1}.attendance-page .admin-panel{border-radius:22px;padding:18px}.attendance-page .approval-card{grid-template-columns:1fr}.attendance-page .approval-actions button{flex:1;min-height:48px}.attendance-page .approval-panel-title{flex-direction:column;align-items:stretch}.attendance-page .approval-panel-actions{justify-content:stretch;width:100%}.attendance-page .approval-panel-actions button{flex:1;min-height:46px}.attendance-page .personnel-title{flex-direction:column;align-items:stretch}.attendance-page .trend-panel-title,.attendance-page .trend-controls{flex-direction:column;align-items:stretch;width:100%}.attendance-page .trend-controls label,.attendance-page .trend-controls select,.attendance-page .trend-controls input{width:100%}.attendance-page .trend-actions{grid-template-columns:1fr;display:grid}.attendance-page .trend-total-grid{grid-template-columns:1fr}.attendance-page .employee-add-form{width:100%}.attendance-page .employee-add-form input{width:100%;min-width:0}.attendance-page .personnel-row{grid-template-columns:auto 1fr auto}.attendance-page .personnel-row>button{grid-column:1/-1;width:100%}.attendance-page .monthly-report-row{grid-template-columns:auto 1fr auto}.attendance-page .monthly-report-row>a{grid-column:1/-1}.attendance-page .history-title{flex-direction:column;align-items:flex-start}.attendance-page .attendance-controls{justify-content:stretch;width:100%}.attendance-page .attendance-controls input{flex:100%;min-height:46px}.attendance-page .attendance-controls button,.attendance-page .attendance-controls a{text-align:center;flex:1;min-height:46px}.attendance-page .export-controls{width:100%}.attendance-page .export-controls input,.attendance-page .export-controls a{flex:1}}@page{size:A4 portrait;margin:0}@media print{.attendance-page{background:#fff;margin:0}.attendance-page .admin-shell{box-sizing:border-box;width:100%;padding:14mm 12mm}.attendance-page .admin-header,.attendance-page .summary-grid,.attendance-page .admin-columns>.admin-panel:first-child,.attendance-page .admin-shell>.admin-panel,.attendance-page .admin-alert,.attendance-page .admin-footer,.attendance-page .qr-panel .panel-title,.attendance-page .qr-panel>p,.attendance-page .qr-panel .primary-button{display:none!important}.attendance-page .admin-columns{margin:0;display:block}.attendance-page .admin-columns>.qr-panel{width:100%;box-shadow:none;border:0;display:block}.attendance-page .qr-panel:before{content:"中信房屋頭份建國加盟店";text-align:center;width:100%;margin-bottom:18px;font-size:32px;font-weight:900;line-height:1.35;display:block}.attendance-page .qr-print-brand{margin:0 auto 18px;display:block}.attendance-page .qr-print-brand img{width:220px;height:auto;margin:0 auto;display:block}.attendance-page .qr-panel .qr-code{width:360px}.attendance-page body.print-trend-only{background:#fff}.attendance-page body.print-trend-only .admin-shell{box-sizing:border-box;width:297mm;min-height:210mm;padding:12mm}.attendance-page body.print-trend-only .admin-shell>*{display:none!important}.attendance-page body.print-trend-only .admin-shell>.trend-panel{box-shadow:none;border:0;margin:0;padding:0;display:block!important}.attendance-page body.print-trend-only .trend-panel-title,.attendance-page body.print-trend-only .trend-actions,.attendance-page body.print-trend-only .inline-error,.attendance-page body.print-trend-only .empty-state,.attendance-page body.print-trend-only .trend-total-grid{display:none!important}.attendance-page body.print-trend-only .trend-chart-wrap{border:0;padding:0;overflow:visible}.attendance-page body.print-trend-only .trend-chart{width:100%;min-width:0;max-height:186mm;margin:0 auto}}@media (prefers-reduced-motion:no-preference){.attendance-page .live-dot{animation:1.8s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.48}}}@keyframes spin{to{transform:rotate(360deg)}}
