:root{--paper:#f4f1e9;--ink:#253a32;--muted:#687168;--line:#deded3;--accent:#99563d;--green:#dfe8dc;--white:#fffef9;--danger:#a13732;--gold:#eee0bd;font-family:Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #a36836;outline-offset:3px}button{border:1px solid var(--line);background:var(--white);border-radius:8px;min-height:44px;padding:9px 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover{border-color:#819080;background:#f0f2e9}button.primary{background:var(--ink);color:white;border-color:var(--ink)}button.primary:hover{background:#395345}button.danger{color:var(--danger)}button.icon{padding:10px;min-width:44px}svg{width:19px;height:19px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,.serif{font-family:Georgia,serif;font-weight:400}h1{font-size:36px;line-height:1.15;letter-spacing:-1px}h2{font-size:25px}h3{font-size:15px}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:2px;text-transform:uppercase}.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--ink);color:var(--paper);position:fixed;width:232px;inset:0 auto 0 0;padding:30px 20px;display:flex;flex-direction:column;z-index:10}.brand{padding:0 10px 28px;border-bottom:1px solid #526052;line-height:1.15}.brand .serif{font-size:23px}.brand .eyebrow{display:block;margin-top:13px;color:#c4ccbf;letter-spacing:2.3px;font-size:9px}.brand-mark{font:italic 35px Georgia;display:block;margin-bottom:20px}.nav{display:grid;gap:8px;padding-top:28px}.nav button{justify-content:flex-start;color:#d9dfd2;background:none;border-color:transparent;gap:13px;padding:12px;min-height:48px}.nav button.active{background:#435549;color:#fff}.nav button:hover{background:#394d40}.side-bottom{margin-top:auto;padding:30px 10px 0}.side-bottom p{font-size:11px;color:#c4ccbf;margin-top:10px}.side-bottom .eyebrow{font-size:9px}.workspace{grid-column:2;min-width:0}.topbar{height:78px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 38px;gap:15px}.topbar .small-brand{font:18px Georgia}.top-actions{display:flex;gap:12px;align-items:center}.avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:var(--green);font-size:12px}.profile{display:flex;gap:10px;align-items:center}.profile small{display:block;font-size:10px;color:var(--muted)}.topbar select{background:transparent;padding:7px;border:0;min-height:44px}.content{padding:32px 38px 48px;max-width:1600px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px}.page-head .eyebrow{color:var(--accent);margin-bottom:9px}.page-head p{margin-top:10px;color:var(--muted);font-size:13px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.date-control{display:flex;gap:2px;align-items:center;border:1px solid var(--line);background:var(--white);border-radius:8px;padding:2px}.date-control button{border:0;background:none;padding:5px;min-width:34px}.date-control input{border:0;background:none;width:137px;padding:5px;min-height:40px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:26px}.stat{padding:20px 22px;border:1px solid var(--line);border-radius:12px;background:var(--white);text-align:left;display:block}.stat:last-child{background:var(--green);border-color:#d2dccb}.stat-top{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.stat strong{font:38px Georgia;display:block;line-height:1.2;margin:12px 0 5px}.stat small{font-size:11px;color:var(--muted)}.work-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px;align-items:start}.section-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:10px}.section-top h2{font-size:24px}.section-top small{font-size:12px;color:var(--muted)}.filters{display:flex;gap:6px;overflow:auto;margin-bottom:16px;padding-bottom:4px}.filters button{font-size:12px;white-space:nowrap;border-color:transparent;background:transparent;min-height:38px;padding:7px 12px}.filters button.active{background:var(--ink);color:#fff}.filters .count{opacity:.7;font-size:11px}.task-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px;background:var(--white);border:1px solid var(--line);border-radius:12px;margin-bottom:11px;width:100%;text-align:left;min-height:118px}.task-card.high{border-left:3px solid var(--accent)}.room-no{background:#efeee6;border-radius:9px;min-width:60px;height:68px;display:flex;align-items:center;justify-content:center;flex-direction:column;font:29px Georgia}.room-no small{font:9px Arial;margin-bottom:4px;color:var(--muted);letter-spacing:1px}.room-no.common{font:12px Arial;text-align:center;padding:8px}.task-title{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:9px}.task-title strong{font-size:14px}.badge{display:inline-flex;align-items:center;gap:6px;font-size:10px;line-height:1.3;border-radius:5px;background:#eceee7;padding:5px 7px;white-space:nowrap}.badge:before{content:'';width:5px;height:5px;background:currentColor;border-radius:50%}.badge.in_progress{background:#e8e5d0;color:#736027}.badge.submitted{background:#e3e9ee;color:#4b657b}.badge.approved{background:#dfebdf;color:#426c49}.badge.rework{background:#f1dfd7;color:#9a4f36}.badge.cancelled{color:#777}.task-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.task-meta span{display:inline-flex;align-items:center;gap:5px}.task-meta svg{width:13px;height:13px}.task-end{text-align:right;font-size:11px;min-width:85px}.task-end strong{font-size:12px;display:block;margin-bottom:10px}.task-end progress{width:80px;height:4px;display:block;margin:6px 0 0 auto}progress{accent-color:#54715a;border:0}progress::-webkit-progress-bar{background:#e8e9df;border-radius:4px}progress::-webkit-progress-value{background:#54715a;border-radius:4px}.priority{color:var(--accent)}.aside-card{background:#e8ebdf;border:1px solid #d9ddcf;padding:22px;border-radius:12px;margin-bottom:18px}.aside-card h3{font:23px Georgia;margin:11px 0}.aside-card p{font-size:12px;line-height:1.7;color:#526350}.aside-card button{margin-top:18px;width:100%;background:transparent;border-color:#b8c5b1}.aside-card .big{font:40px Georgia;margin-top:15px}.team-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:14px 0;font-size:12px}.team-row .meta{margin-left:auto;font-size:11px;color:var(--muted)}.guide-note{padding:20px 2px;font-size:12px;color:var(--muted)}.guide-note strong{display:block;color:var(--ink);font:19px Georgia;margin-bottom:8px}.empty{padding:50px 20px;border:1px dashed #bac3b4;border-radius:12px;text-align:center;color:var(--muted);background:#f8f7f0}.empty h2{color:var(--ink);margin-bottom:10px}.empty button{margin-top:20px}.notice{padding:12px 16px;background:#eee1c5;border-radius:8px;font-size:12px;margin-bottom:18px}.notice.error{background:#f3ded8;color:#7f332e}.demo-bar{background:#eadac0;padding:7px 20px;font-size:11px;text-align:center}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px;font-size:12px}.field.wide{grid-column:1/-1}input,select,textarea{border:1px solid #cdd1c4;border-radius:7px;background:var(--white);min-height:45px;padding:10px 12px;max-width:100%;font-size:16px}textarea{min-height:90px;resize:vertical}.check-line{display:flex;gap:9px;align-items:center;font-size:13px}.check-line input{min-height:22px;width:22px;height:22px;accent-color:var(--ink)}dialog{width:580px;max-width:calc(100% - 24px);max-height:90dvh;padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#14271dcc;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:16px}.dialog-head h2{font-size:28px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.form-error{color:var(--danger);font-size:13px;margin-top:14px}.login{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.login-art{background:var(--ink);color:var(--paper);padding:10vh 8vw;display:flex;flex-direction:column;justify-content:space-between}.login-art h1{font-size:60px;max-width:500px}.login-art p{color:#c5d0bd;max-width:330px;margin-top:24px}.login-form{display:flex;flex-direction:column;justify-content:center;padding:40px;max-width:440px;width:100%;margin:auto;gap:24px}.login-form form{display:grid;gap:18px}.login-form h1{font-size:34px}.login-form p{color:var(--muted);font-size:13px;margin-top:10px}.room-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.area-card{padding:22px;background:var(--white);border:1px solid var(--line);border-radius:12px}.area-card h2{font-size:30px;margin-bottom:8px}.area-card p{font-size:12px;color:var(--muted);margin:10px 0}.area-card button{width:100%;margin-top:12px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}.check-item{border:1px solid var(--line);border-radius:10px;background:var(--white);padding:18px;margin-bottom:10px}.check-title{display:flex;gap:13px;align-items:flex-start}.check-title input{width:23px;height:23px;min-height:23px;accent-color:var(--ink);margin:2px 0 0}.check-title span{flex:1;font-size:14px;white-space:pre-line}.check-item.done .check-title span{color:#5a705c}.check-extra{margin:14px 0 0 36px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.check-extra button,.check-extra label{font-size:11px;min-height:38px}.photo-button{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);padding:8px 10px;border-radius:6px;cursor:pointer;background:var(--paper)}.photo-button input{display:none}.thumb{width:62px;height:62px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}.detail-sidebar{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:22px}.detail-sidebar h2{font-size:22px;margin-bottom:18px}.detail-sidebar .field{margin-bottom:16px}.detail-sidebar dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:12px}.detail-sidebar dd{margin:0;text-align:right}.detail-sidebar dt{color:var(--muted)}.sticky-actions{position:sticky;bottom:12px;padding:15px;border:1px solid var(--line);background:#f4f1e9f5;backdrop-filter:blur(8px);border-radius:12px;display:flex;gap:10px;margin-top:18px;z-index:3}.sticky-actions button{flex:1}.supply-row{padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.supply-row .actions{margin-top:9px}.supply-row input{width:80px;min-height:38px;padding:5px 8px;font-size:14px}.history-row{padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.history-row small{display:block;color:var(--muted);margin-top:4px}.detail-section{margin-top:28px}.detail-section h2{margin-bottom:16px}.staff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.staff-card{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:24px}.staff-card h2{font-size:23px;margin:14px 0 5px}.staff-card p{font-size:12px;color:var(--muted);margin:8px 0 16px}.loading{padding:80px;text-align:center;font:25px Georgia}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);padding:13px 22px;background:var(--ink);color:white;border-radius:9px;z-index:100;max-width:90vw;display:none;box-shadow:0 5px 25px #0002}#toast.show{display:block}.mobile-nav{display:none}.back{margin-bottom:20px}.rule{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:15px}.rule p{color:var(--muted);margin:12px 0}.rule ol{padding-left:22px;line-height:1.9}.online-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:#bdd3a8;margin-right:5px}.offline-banner{background:#e5c8b8;padding:12px;text-align:center;font-size:12px}.preview-switch{font-size:11px;border:0;background:transparent;text-decoration:underline;min-height:28px;padding:0 5px}
@media(min-width:1600px){.content{padding-top:42px}.task-card{padding:24px}.work-grid{grid-template-columns:minmax(0,1fr) 320px}}
@media(max-width:1200px){.shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{width:200px;padding:25px 14px}.content{padding:26px}.topbar{padding:0 26px}.work-grid{grid-template-columns:minmax(0,1fr)}.right-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.right-col .guide-note{display:none}.stats{gap:10px}.stat{padding:16px}.room-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-grid{grid-template-columns:minmax(0,1fr) 260px}.page-head{align-items:flex-start}.page-head>.actions{justify-content:flex-end;max-width:280px}.staff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.shell{display:block}.sidebar{display:none}.topbar{height:65px;padding:0 20px}.topbar .profile .profile-name{display:none}.top-actions{gap:4px}.content{padding:24px 18px 100px}.topbar .small-brand{font-size:17px}.page-head{display:block;margin-bottom:22px}h1{font-size:33px}.page-head>.actions{max-width:none;justify-content:space-between;margin-top:22px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:15px 17px}.stat strong{font-size:31px;margin:8px 0 3px}.stat-top{font-size:11px}.stat small{font-size:10px}.task-card{padding:15px 13px;gap:11px;grid-template-columns:49px minmax(0,1fr);position:relative;min-height:135px}.room-no{min-width:48px;height:62px;font-size:25px;align-self:start}.task-title{gap:7px;margin-bottom:8px;display:block}.task-title strong{display:block;margin-bottom:7px;font-size:13px}.task-meta{gap:8px;font-size:10px}.task-end{grid-column:2;display:flex;text-align:left;align-items:center;justify-content:space-between;gap:10px}.task-end strong{font-size:11px;margin:0}.task-end progress{width:65px;display:inline-block;margin:0 0 0 7px}.task-end .progress-label{font-size:10px}.work-grid{gap:20px}.right-col{display:block}.right-col .team-box{display:none}.right-col .aside-card{margin:0}.mobile-nav{position:fixed;bottom:0;left:0;right:0;background:var(--white);border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:6px 6px calc(6px + env(safe-area-inset-bottom));z-index:10}.mobile-nav button{flex:1;border:0;border-radius:0;background:none;flex-direction:column;gap:3px;font-size:9px;padding:6px;min-height:49px;color:var(--muted)}.mobile-nav button.active{color:var(--ink);background:#e9eddf;border-radius:8px}.mobile-nav svg{width:20px;height:20px}.detail-grid{display:flex;flex-direction:column}.detail-grid>div,.detail-sidebar{width:100%}.detail-sidebar{order:-1}.detail-sidebar dl{margin:0}.detail-sidebar h2{margin-bottom:12px}.detail-sidebar .field{margin-top:16px}.sticky-actions{bottom:77px;flex-wrap:wrap}.sticky-actions button{min-width:130px}.room-grid{grid-template-columns:1fr 1fr;gap:10px}.area-card{padding:16px}.area-card h2{font-size:27px}.staff-grid{grid-template-columns:1fr}.login{display:block}.login-art{padding:28px 24px;min-height:200px}.login-art h1{font-size:35px}.login-art p{display:none}.login-art .eyebrow{margin-bottom:25px}.login-form{padding:32px 24px}.form-grid{gap:12px}.field{font-size:11px}dialog{padding:20px;max-height:90dvh}.check-extra{margin-left:0}.check-title span{font-size:14px}.demo-bar{padding:7px 12px;font-size:10px}.topbar .icon{min-width:38px;padding:8px}#toast{bottom:90px}.check-item{padding:16px}.detail-section{margin-top:22px}}
@media(prefers-reduced-motion:no-preference){button{transition:background .12s,border-color .12s}.task-card{animation:appear .2s ease-out}@keyframes appear{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:none}}}
@media(max-width:800px){.stat{padding:12px 15px}.stat strong{font-size:28px;margin:5px 0 0}.stat small{display:none}.stats{margin-bottom:20px}.date-control input{width:112px;font-size:13px}.page-head>.actions{gap:8px}.page-head>.actions>.primary{padding:10px 12px;font-size:12px}.filters{scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.topbar .small-brand{font-size:15px}.topbar{padding:0 16px}.page-head p{margin-top:8px}.page-head>.actions{margin-top:16px}}
.start-action{margin-bottom:20px}.start-action button{min-width:220px}
@media(max-width:800px){.detail-sidebar{order:0}.start-action button{width:100%}}
.morning-list{list-style:none;padding:0;margin:20px 0}.morning-list li{padding:10px 0;border-bottom:1px solid #ccd3c3;display:flex;gap:12px;font-size:13px}.morning-list li span{font:20px Georgia;color:#7c8d76}.notice button{margin-top:10px}.detail-sidebar>button{margin:8px 0;width:100%}.detail-sidebar .check-line{margin-bottom:18px}details.notice summary{cursor:pointer;font-weight:600}details.notice p{margin:10px 0 0}.check-extra:empty,.sticky-actions:empty{display:none}@media(max-width:800px){.mobile-nav{overflow-x:auto;justify-content:flex-start}.mobile-nav button{flex:1 0 58px;max-width:100px;font-size:9px}.page-head>.actions{align-items:stretch}.page-head>.actions>.primary{flex:1;max-width:170px;white-space:normal;line-height:1.25}.date-control input{width:108px}.task-title strong{line-height:1.5}.task-meta .priority{line-height:1.5}.login-art h1{font-size:32px}.topbar .small-brand{max-width:175px}.detail-sidebar{order:0}}
