:root{--viewport-bottom-gap:0px;color:#292522;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#ebe7df;font-family:Inter,Microsoft YaHei,PingFang SC,Noto Sans CJK SC,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100dvh;margin:0}body{overscroll-behavior:none;margin:0}h1,h2,h3,p{letter-spacing:0}.app-shell{color:#292522;background:#ebe7df;min-height:100dvh}.top-strip{z-index:20;background:#fbfaf7;border-bottom:1px solid #ddd6cc;justify-content:space-between;align-items:center;gap:18px;height:58px;padding:0 22px;display:flex;position:sticky;top:0}.top-strip>div:first-child{align-items:baseline;gap:10px;min-width:0;display:flex}.top-strip strong{font-size:18px}.top-strip span{color:#756d66;font-size:13px}.segmented{background:#eee9e1;border:1px solid #e1dbd2;border-radius:8px;grid-auto-flow:column;gap:4px;padding:4px;display:inline-grid}.segmented button{color:#5f5751;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:0 12px;font-weight:700;display:inline-flex}.segmented button.active{color:#d6532c;background:#fff;box-shadow:0 1px 4px #29252214}.session-actions{align-items:center;gap:8px;display:inline-flex}.session-pill,.session-actions button{color:#5f5751;background:#fff;border:1px solid #e1dbd2;border-radius:8px;align-items:center;gap:6px;min-height:34px;padding:0 11px;font-weight:800;display:inline-flex}.session-actions button{cursor:pointer}.login-page,.loading-page{background:linear-gradient(135deg,#d6532c14,#0000 34%),#ebe7df;place-items:center;min-height:100vh;padding:22px;display:grid}.login-card{background:#fbfaf7;border:1px solid #e5ded5;border-radius:8px;width:min(460px,100%);padding:24px;box-shadow:0 18px 42px #342b2224}.login-brand{align-items:center;gap:13px;margin-bottom:20px;display:flex}.login-brand>span{color:#fff;background:#d6532c;border-radius:12px;place-items:center;width:48px;height:48px;font-size:23px;font-weight:900;display:grid}.login-brand h1{margin:0;font-size:26px}.login-brand p{color:#7b726b;margin:3px 0 0;font-size:13px}.login-form{gap:12px;display:grid}.role-options{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.role-options button{color:#5f5751;cursor:pointer;background:#fff;border:1px solid #e2dbd2;border-radius:8px;min-height:40px;font-weight:900}.role-options button.active{color:#c74726;background:#fff1ea;border-color:#d6532c}.login-form label{color:#5f5751;gap:7px;font-size:13px;font-weight:900;display:grid}.login-form input{background:#fff;border:1px solid #e2dbd2;border-radius:8px;outline:0;min-height:44px;padding:0 12px}.login-help{color:#6d655f;border-top:1px solid #ece5dd;gap:6px;margin-top:16px;padding-top:14px;font-size:13px;display:grid}.login-help b{color:#292522}.login-help span{background:#fff;border:1px solid #eee6dd;border-radius:8px;align-items:center;min-height:28px;padding:0 10px;font-weight:800;display:flex}.login-help p{margin:4px 0 0;line-height:1.5}button,input,select,textarea{font:inherit}button{letter-spacing:0}.phone-wrap{min-height:calc(100dvh - 58px);padding:22px;padding-bottom:max(22px, calc(env(safe-area-inset-bottom) + var(--viewport-bottom-gap)));place-items:start center;display:grid}.phone-device{background:#fbfaf7;border:8px solid #24211f;border-radius:28px;width:min(430px,100%);height:min(860px,100dvh - 102px);min-height:720px;position:relative;overflow:hidden;box-shadow:0 18px 38px #342b222e}.status-bar{background:#fff;justify-content:space-between;height:30px;padding:8px 18px 0;font-size:12px;font-weight:800;display:flex}.home-summary{background:#fff;border:1px solid #eee6dd;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:58px;margin:10px 0 12px;padding:10px 12px;display:flex}.home-summary>div:first-child{gap:3px;display:grid}.home-summary strong{font-size:18px}.home-summary span{color:#81776f;font-size:12px}.phone-page,.detail-view{height:calc(100% - 30px);position:relative}.phone-scroll{height:calc(100% - 70px);padding:0 16px calc(94px + env(safe-area-inset-bottom) + var(--viewport-bottom-gap));overflow-y:auto}.phone-scroll::-webkit-scrollbar{width:0}.admin-main::-webkit-scrollbar{width:0}.app-bar{z-index:3;background:#fff;border-bottom:1px solid #eee7df;justify-content:space-between;align-items:center;gap:12px;height:66px;margin:0 -16px;padding:0 18px;display:flex;position:sticky;top:0}.app-bar strong{font-size:17px;line-height:1.25;display:block}.app-bar span{color:#8d837b;margin-top:2px;font-size:11px;display:block}.avatar{color:#a94222;background:#f2d4c4;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-style:normal;font-weight:900;display:inline-flex}.avatar.large{width:54px;height:54px;font-size:20px}.greeting,.page-title{padding:15px 0 6px}.greeting p,.page-title p{color:#8b8279;font-size:12px}.greeting h1,.page-title h1{margin:2px 0 0;font-size:24px;line-height:1.25}.page-title.compact h1{font-size:22px}.notice-hero{color:#fff;text-align:left;cursor:pointer;background:linear-gradient(135deg,#e05f3c,#bd4227);border:0;border-radius:8px;justify-content:space-between;gap:14px;width:100%;margin:8px 0 12px;padding:16px;display:flex;box-shadow:0 9px 22px #c0482333}.notice-hero h2{color:#fff;margin:10px 0 6px;font-size:18px}.notice-hero p{color:#ffece3;font-size:12px}.hero-action{color:#c74726;background:#fff;border-radius:8px;align-self:flex-end;padding:7px 10px;font-size:12px;font-weight:900}.badge{color:#bf4a2b;white-space:nowrap;background:#fff1ea;border-radius:6px;justify-content:center;align-items:center;gap:4px;min-height:24px;padding:3px 7px;font-size:11px;font-weight:800;display:inline-flex}.badge.light{color:#fff;background:#ffffff2e}.badge.danger{color:#c74726;background:#fff0e9}.badge.purple{color:#6553a6;background:#f0edf8}.quick-grid{grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 14px;display:grid}.quick-action{text-align:left;cursor:pointer;background:#fff;border:1px solid #eee6dd;border-radius:8px;flex-direction:column;align-items:flex-start;gap:7px;min-height:104px;padding:13px;display:flex;box-shadow:0 4px 14px #382a1c0d}.quick-action strong{font-size:14px}.quick-action small{color:#8c837b;font-size:11px}.icon-tile{color:#d6532c;background:#fff0e9;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.icon-tile.purple{color:#6553a6;background:#f0edf8}.icon-tile.green{color:#2f7b55;background:#e8f4ed}.quick-action.notice-action{grid-column:1/-1;min-height:82px}.todo-band,.profile-card,.detail-section,.confirm-panel,.notice-article,.panel,.stat-card{background:#fff;border:1px solid #eee6dd;border-radius:8px;box-shadow:0 4px 14px #382a1c0a}.todo-band{margin-bottom:12px;padding:13px}.section-head,.panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.section-head h2,.panel-head h2{margin:0;font-size:16px}.section-head button,.panel-head button{color:#d6532c;cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:800}.todo-list{gap:8px;display:grid}.todo-row{color:#403a35;text-align:left;cursor:pointer;background:#faf7f3;border:0;border-radius:8px;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;min-height:42px;padding:0 10px;display:grid}.todo-row span{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.todo-row b{color:#d6532c;font-size:12px}.empty-state{color:#8d837b;place-items:center;min-height:44px;font-size:12px;display:grid}.metric-grid,.stats-grid{gap:10px;display:grid}.metric-grid{grid-template-columns:repeat(3,1fr);margin:12px 0}.metric{text-align:center;background:#fff;border:1px solid #eee6dd;border-radius:8px;place-content:center;gap:2px;min-height:70px;padding:10px;display:grid}.metric b{font-size:22px}.metric span{color:#8a8178;font-size:11px}.issue-stack,.notice-stack{gap:10px;display:grid}.issue-card,.notice-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #eee6dd;border-radius:8px;gap:11px;width:100%;padding:12px;display:flex;box-shadow:0 4px 14px #382a1c0a}.issue-media{color:#fff;background:linear-gradient(145deg,#e9ad71,#c76140);border-radius:8px;flex:none;place-items:center;width:72px;min-height:74px;display:grid;position:relative}.issue-media.equipment{background:linear-gradient(145deg,#8bb4bc,#487987)}.issue-media.hygiene{background:linear-gradient(145deg,#8ec8a3,#4f8b66)}.issue-media.other,.issue-media.ingredient{background:linear-gradient(145deg,#a8a0bd,#655987)}.issue-media span{font-size:10px;font-weight:900;position:absolute;bottom:6px;right:7px}.issue-content{flex:1;min-width:0}.issue-line,.issue-foot{align-items:center;gap:6px;display:flex}.issue-line small{color:#938b84;margin-left:auto;font-size:10px}.issue-card h3,.notice-card h3{margin:7px 0 4px;font-size:14px;line-height:1.35}.issue-card p,.notice-card p{color:#746c65;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:11px;line-height:1.5;display:-webkit-box;overflow:hidden}.issue-foot{color:#7d746d;justify-content:space-between;margin-top:8px;font-size:11px}.status-dot,.status-text{font-weight:900}.status-dot.success,.status-text.success,.info-pill.success{color:#2f7b55}.status-dot.warning,.status-text.warning,.info-pill.warning{color:#a8702b}.status-dot.danger,.status-text.danger,.info-pill.danger{color:#c74726}.status-dot.blue,.status-text.blue,.info-pill.blue{color:#397783}.bottom-nav{height:calc(70px + env(safe-area-inset-bottom) + var(--viewport-bottom-gap));padding-top:7px;padding-bottom:calc(env(safe-area-inset-bottom) + var(--viewport-bottom-gap));z-index:8;background:#fff;border-top:1px solid #e9e2da;grid-template-columns:repeat(5,1fr);display:grid;position:absolute;bottom:0;left:0;right:0}.bottom-nav button{color:#8f867e;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;font-size:11px;display:flex}.bottom-nav button.active{color:#d6532c;font-weight:900}.search-box{color:#8f867e;background:#fff;border:1px solid #e8e1d9;border-radius:8px;align-items:center;gap:8px;min-height:40px;margin-bottom:10px;padding:0 11px;display:flex}.search-box input{background:0 0;border:0;outline:0;width:100%;min-width:0}.chips{gap:7px;margin:8px 0 12px;padding-bottom:2px;display:flex;overflow-x:auto}.chip{color:#716961;white-space:nowrap;cursor:pointer;background:#ece7e0;border:0;border-radius:999px;padding:7px 12px;font-size:12px}.chip.active{color:#fff;background:#2f2926;font-weight:900}.publish-form{display:block}.publish-form .segmented{grid-template-columns:1fr 1fr;width:100%;margin:13px 0}.upload-box{color:#d6532c;cursor:pointer;background:#fff;border:1.5px dashed #d9d0c7;border-radius:8px;justify-content:center;align-items:center;gap:12px;min-height:108px;margin-bottom:11px;display:flex}.upload-box span{color:#5f5751;gap:3px;display:grid}.upload-box small{color:#8b817a;text-overflow:ellipsis;white-space:nowrap;max-width:230px;font-size:11px;overflow:hidden}.upload-box input{display:none}.field-group{color:#7e756e;gap:7px;margin-bottom:11px;font-size:12px;font-weight:800;display:grid}.field-group input,.field-group select,.field-group textarea{color:#292522;background:#fff;border:1px solid #e6ded6;border-radius:8px;outline:none;width:100%;min-height:42px;padding:9px 10px;font-weight:500}.field-group textarea{resize:vertical;min-height:96px;line-height:1.5}.voice-field{gap:8px;display:grid}.voice-toolbar{align-items:center;gap:8px;min-height:34px;display:flex}.voice-toolbar span{color:#8b817a;font-size:11px;font-weight:700}.voice-button{color:#2f7b55;cursor:pointer;background:#eff8f2;border:1px solid #d8e6dc;border-radius:8px;align-items:center;gap:6px;min-height:34px;padding:0 11px;font-size:12px;font-weight:900;display:inline-flex}.voice-button.recording,.voice-icon-button.recording{color:#c74726;background:#fff0e9;border-color:#f0b7a4}.voice-button:disabled,.voice-icon-button:disabled{cursor:default;opacity:.72}.option-grid{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.option,.status-button{color:#655d56;cursor:pointer;background:#fff;border:1px solid #e4dcd4;border-radius:8px;min-height:36px;font-size:12px;font-weight:800}.option.active,.status-button.active{color:#c94d28;background:#fff3ed;border-color:#d6532c}.option.danger,.option.active.danger{border-color:#cc4d2a}.priority-row,.status-actions{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:11px;display:grid}.status-actions{grid-template-columns:repeat(4,1fr)}.warning-line{color:#8a5d27;background:#fff4db;border-radius:8px;align-items:center;gap:7px;min-height:38px;margin-bottom:12px;padding:8px 10px;font-size:11px;line-height:1.4;display:flex}.primary-button,.confirm-button,.admin-primary{color:#fff;cursor:pointer;background:#d6532c;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 15px;font-weight:900;display:inline-flex;box-shadow:0 8px 17px #c646232e}.primary-button{width:100%;margin-bottom:12px}.detail-top{color:#fff;background:linear-gradient(150deg,#e65c34,#c84625);min-height:150px;padding:18px 18px 22px}.detail-top h1{color:#fff;margin:11px 0 7px;font-size:23px;line-height:1.25}.detail-top p{color:#ffe8de;font-size:12px}.back-button,.ghost-button{color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-weight:800;display:inline-flex}.detail-scroll{height:calc(100% - 220px);padding-top:14px}.media-card{color:#d6532c;background:#fff;border:1px dashed #d6cec5;border-radius:8px;place-items:center;gap:4px;height:96px;margin-bottom:11px;font-weight:900;display:grid}.detail-section{margin-bottom:11px;padding:13px}.detail-meta{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px;display:grid}.info-pill{background:#faf7f3;border-radius:8px;gap:3px;padding:8px;display:grid}.info-pill span{color:#8d847c;font-size:10px}.info-pill b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.description-text{color:#625a54;margin:0 0 12px;font-size:13px;line-height:1.65}.inline-selects label{color:#7e756e;gap:6px;font-size:12px;font-weight:800;display:grid}.inline-selects select{background:#fff;border:1px solid #e6ded6;border-radius:8px;min-height:38px;padding:0 9px}.comment-list{gap:10px;display:grid}.comment{grid-template-columns:34px 1fr;gap:9px;display:grid}.comment.system{opacity:.9}.comment-head{justify-content:space-between;gap:10px;font-size:12px;display:flex}.comment-head span{color:#9a928b;font-size:10px}.comment p{color:#625a54;margin:3px 0 0;font-size:12px;line-height:1.5}.comment-box{background:#fff;border-top:1px solid #e9e2da;grid-template-columns:1fr 42px 42px;gap:9px;height:70px;padding:12px 14px;display:grid;position:absolute;bottom:0;left:0;right:0}.comment-box input,.admin-comment-form input{background:#faf8f5;border:1px solid #e6ded6;border-radius:8px;outline:none;min-width:0;padding:0 11px}.comment-box button{color:#fff;background:#d6532c;border:0;border-radius:8px;place-items:center;display:grid}.comment-box .voice-icon-button{color:#2f7b55;background:#eff8f2;border:1px solid #d8e6dc}.notice-body{height:calc(100% - 220px)}.notice-detail-top{min-height:166px}.notice-article{margin-top:14px;padding:15px}.notice-article p{color:#5f5751;white-space:pre-wrap;font-size:13px;line-height:1.75}.confirm-panel{justify-content:space-between;align-items:center;gap:12px;margin-top:11px;padding:13px;display:flex}.confirm-panel p{color:#8c837b;margin:4px 0 0;font-size:11px}.face-stack{display:flex}.face-stack span{background:#e9c5b0;border:2px solid #fff;border-radius:50%;place-items:center;width:26px;height:26px;margin-left:-7px;font-size:10px;font-weight:900;display:grid}.confirm-button{background:#2f7b55;position:absolute;bottom:16px;left:16px;right:16px;box-shadow:0 8px 17px #2f7b5533}.confirm-button.done{background:#716961}.confirm-button:disabled{cursor:default;opacity:.85}.notice-compose-button{color:#2f7b55;cursor:pointer;background:#eff8f2;border:1px solid #d8e6dc;border-radius:8px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:42px;margin:10px 0 12px;font-weight:900;display:inline-flex}.notice-card{justify-content:space-between;align-items:center}.confirm-meter{text-align:right;flex:none;width:58px}.confirm-meter b{display:block}.confirm-meter small{color:#8d847c;font-size:10px}.profile-card{align-items:center;gap:12px;min-height:84px;margin:14px 0 12px;padding:14px;display:flex}.profile-card h2{margin:0 0 3px}.profile-card p{color:#7b726b;margin:0}.ghost-button{color:#5f5751;background:#fff;border:1px solid #ddd5cc;border-radius:8px;min-height:38px;padding:0 12px}.ghost-button.full{justify-content:center;width:100%;margin-top:12px}.boss-mobile .greeting h1{font-size:23px}.boss-summary{color:#fff;background:linear-gradient(135deg,#2f2926,#5f443a);border-radius:8px;justify-content:space-between;align-items:flex-end;gap:12px;min-height:122px;margin:8px 0 12px;padding:16px;display:flex}.boss-summary-main{gap:4px;display:grid}.boss-summary-main span,.boss-summary-main small{color:#eadfd8;font-size:12px}.boss-summary-main b{font-size:42px;line-height:1}.boss-summary button{color:#fff;background:#d6532c;border:0;border-radius:8px;align-items:center;gap:6px;min-height:40px;padding:0 12px;font-weight:900;display:inline-flex}.boss-confirm-stack{padding-top:14px}.boss-confirm-card,.archive-mini-list{background:#fff;border:1px solid #eee6dd;border-radius:8px;padding:13px;box-shadow:0 4px 14px #382a1c0a}.boss-confirm-card p{color:#7c736c;margin:8px 0 0;font-size:12px;line-height:1.5}.mobile-progress{grid-template-columns:64px 1fr 38px;margin:8px 0}.admin-shell{grid-template-columns:232px 1fr;min-height:calc(100vh - 58px);display:grid}.admin-side{color:#fff;background:#2f2926;height:calc(100vh - 58px);padding:28px 18px;position:sticky;top:58px}.brand-block strong{font-size:21px;display:block}.brand-block span{color:#bfb4ac;margin-top:4px;font-size:12px;display:block}.admin-menu{gap:7px;margin-top:40px;display:grid}.desktop-return-button{color:#fff;cursor:pointer;background:0 0;border:1px solid #5d524c;border-radius:8px;width:100%;min-height:38px;margin-top:18px;font-weight:800}.admin-menu button{color:#cec4bd;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;min-height:42px;padding:0 12px;display:flex}.admin-menu button.active{color:#fff;background:#d6532c;font-weight:900}.store-box{color:#cabfb8;border-top:1px solid #514946;padding-top:15px;font-size:12px;position:absolute;bottom:24px;left:18px;right:18px}.store-box b{color:#fff;margin-top:4px;display:block}.admin-main{max-height:calc(100vh - 58px);padding:28px 30px 42px;overflow-y:auto}.admin-page{max-width:1220px;margin:0 auto}.admin-page.narrow{max-width:760px}.admin-header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;display:flex}.admin-header h1{margin:0;font-size:28px}.admin-header p{color:#817870;margin:5px 0 0;font-size:13px}.stats-grid{grid-template-columns:repeat(4,1fr);margin-bottom:16px}.stat-card{min-height:104px;padding:16px}.stat-card span{color:#887f78;font-size:12px}.stat-card b{margin:8px 0 2px;font-size:30px;display:block}.stat-card p{color:#4b8a66;margin:0;font-size:11px}.stat-card p.warning{color:#a8702b}.admin-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr);gap:16px;margin-bottom:16px;display:grid}.admin-grid.lower{grid-template-columns:1fr 1fr}.panel{padding:17px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:720px}th{text-align:left;color:#968d86;border-bottom:1px solid #eee7e1;padding:8px 7px;font-size:11px;font-weight:700}td{vertical-align:middle;border-bottom:1px solid #f1ece7;padding:12px 7px;font-size:12px}td select,.admin-toolbar select{background:#fff;border:1px solid #e2dbd3;border-radius:8px;min-height:32px;padding:0 8px}.table-link{color:#292522;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-weight:900;display:inline-flex}.progress-row{grid-template-columns:88px 1fr 42px;align-items:center;gap:10px;margin:13px 0;display:grid}.progress-row label,.progress-row b{font-size:12px}.progress-track{background:#eee9e4;border-radius:99px;height:9px;overflow:hidden}.progress-track i{background:#d6532c;border-radius:99px;height:100%;display:block}.attention-list{background:#faf7f3;border-radius:8px;margin-top:18px;padding:12px}.attention-row{grid-template-columns:8px 1fr;gap:9px;margin-top:10px;display:grid}.attention-row span{background:#d6532c;border-radius:50%;width:8px;height:8px;margin-top:5px}.attention-row p{color:#5f5751;margin:0;font-size:12px}.feedback-row{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #f0ebe6;grid-template-columns:46px 1fr 20px;align-items:center;gap:11px;width:100%;min-height:56px;display:grid}.thumb-mark{color:#fff;background:linear-gradient(145deg,#e9ad71,#c76140);border-radius:8px;place-items:center;height:40px;font-size:11px;font-weight:900;display:grid}.feedback-row small{color:#8f867e;margin-top:3px;display:block}.bar-chart{grid-template-columns:repeat(7,1fr);align-items:end;gap:11px;height:144px;padding-top:10px;display:grid}.bar-col{text-align:center;color:#8e857e;font-size:11px}.bar-col i{background:#e77753;border-radius:6px 6px 2px 2px;width:24px;margin:0 auto 7px;display:block}.chart-note,.notice-summary{color:#8c837b;margin:8px 0 0;font-size:12px}.admin-toolbar{grid-template-columns:1fr 180px;align-items:center;gap:12px;margin-bottom:14px;display:grid}.admin-toolbar .search-box{margin:0}.form-panel{display:grid}.two-cols{grid-template-columns:1fr 1fr;gap:12px;display:grid}.admin-primary.submit{justify-self:end;margin-top:6px}.confirmation-grid,.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.person-list,.archive-list{gap:8px;margin-top:13px;display:grid}.person-row{border-bottom:1px solid #f1ece7;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:7px 0;display:grid}.person-row small{color:#8d847c;font-size:11px;display:block}.person-row em{font-size:12px;font-style:normal;font-weight:900}.person-row em.ok{color:#2f7b55}.person-row em.pending{color:#c74726}.unconfirmed-line{color:#8a5d27;background:#faf7f3;border-radius:8px;margin-top:12px;padding:10px;font-size:12px}.archive-row{border-bottom:1px solid #f1ece7;padding:9px 0}.archive-row span{color:#80776f;margin-top:4px;font-size:12px;display:block}.admin-detail-layout{grid-template-columns:1fr 420px;gap:16px;margin-top:16px;display:grid}.admin-detail-layout h1{margin:0 0 10px;font-size:26px}.admin-meta{grid-template-columns:repeat(4,1fr)}.admin-comments{max-height:420px;padding-right:4px;overflow-y:auto}.admin-comment-form{grid-template-columns:1fr auto;gap:10px;margin-top:14px;display:grid}.modal-backdrop{z-index:55;background:#2925227a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.password-dialog{background:#fbfaf7;border:1px solid #e5ded5;border-radius:8px;gap:12px;width:min(420px,100%);padding:18px;display:grid;box-shadow:0 20px 46px #231e1a38}.password-dialog .section-head{margin-bottom:0}.password-dialog .section-head p{color:#7b726b;margin:4px 0 0;font-size:12px}.password-dialog .section-head button{color:#7b726b;cursor:pointer;background:0 0;border:0;font-weight:900}.password-dialog label{color:#5f5751;gap:7px;font-size:13px;font-weight:900;display:grid}.password-dialog input{background:#fff;border:1px solid #e2dbd2;border-radius:8px;outline:0;min-height:42px;padding:0 11px}.form-error{color:#c74726;margin:0;font-size:12px;font-weight:800}.toast{left:50%;bottom:max(24px, calc(14px + env(safe-area-inset-bottom) + var(--viewport-bottom-gap)));color:#fff;z-index:60;background:#292522;border-radius:8px;align-items:center;min-height:42px;padding:0 16px;font-weight:800;display:inline-flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 24px #00000038}@media (width<=900px){.top-strip{height:54px;padding:0 10px}.top-strip>div:first-child span{display:none}.phone-wrap{min-height:calc(100dvh - 54px);padding:0;padding-bottom:calc(env(safe-area-inset-bottom) + var(--viewport-bottom-gap))}.phone-device{border:0;border-radius:0;width:100%;height:calc(100dvh - 54px);min-height:0}.admin-shell{grid-template-columns:1fr}.admin-side{height:auto;padding:14px 12px;position:static}.admin-menu{grid-template-columns:repeat(5,minmax(74px,1fr));margin-top:14px;overflow-x:auto}.admin-menu button{white-space:nowrap;justify-content:center;padding:0 8px}.store-box{display:none}.admin-main{max-height:none;padding:16px 12px 28px}.stats-grid,.admin-grid,.admin-grid.lower,.confirmation-grid,.archive-grid,.admin-detail-layout{grid-template-columns:1fr}.admin-header{flex-direction:column;align-items:flex-start}.admin-toolbar,.two-cols{grid-template-columns:1fr}}
