:root{font-family:Arial,Helvetica,sans-serif;color:#172c28;background:#f5f4ef;font-size:18px;line-height:1.45;--green:#173f38;--muted:#53635f;--border:#d1d9d3}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;min-height:60px;border:1px solid var(--border);border-radius:12px;padding:12px 18px;font-weight:700;background:white;color:var(--green)}button:disabled{opacity:.55;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:4px solid #b57704;outline-offset:3px}button:hover:enabled{filter:brightness(.96)}a{color:var(--green)}h1{font-size:34px;line-height:1.18;margin:10px 0 14px;letter-spacing:-.6px}h2{font-size:24px;margin:0 0 16px}p{margin:10px 0 18px;color:var(--muted)}.top{background:var(--green);color:white;display:flex;align-items:center;justify-content:space-between;padding:20px max(20px,calc((100vw - 1060px)/2));gap:12px}.brand{display:flex;flex-direction:column}.brand strong{font-size:21px;letter-spacing:1.2px}.brand span{font-size:12px;letter-spacing:1.3px;margin-top:3px}.quiet{background:transparent;color:white;border-color:#ffffff60;min-height:48px;font-size:16px;padding:8px 12px}.identity{max-width:1060px;margin:0 auto;padding:16px 20px;display:flex;justify-content:space-between;gap:12px;font-size:15px}.connection{color:#25643d;font-weight:700;white-space:nowrap}.connection.offline{color:#95410b}.admin-nav{max-width:1060px;margin:0 auto;display:flex;gap:10px;padding:0 20px 12px}.admin-nav a{padding:12px;border-radius:10px;text-decoration:none;font-size:16px;border:1px solid var(--border)}.admin-nav .selected{background:var(--green);color:white}main{max-width:760px;margin:14px auto;padding:0 20px}body[data-admin=yes] main{max-width:1060px}.card{background:white;border:1px solid var(--border);border-radius:20px;padding:26px;margin-bottom:22px}.eyebrow{font-size:13px;font-weight:700;letter-spacing:1.6px;color:#49635b}.login{max-width:480px;margin:40px auto}.login label{display:block;font-weight:700;margin-top:22px}input,select{width:100%;min-height:62px;border:2px solid #9baea3;border-radius:10px;background:white;color:#172c28;padding:14px;margin:7px 0 12px}input:focus{border-color:#173f38}.primary{background:var(--green);color:white;border-color:var(--green);width:100%}.login .primary{margin-top:18px}.instructions{margin-top:28px;padding:18px 0 0;border-top:1px solid var(--border)}.instructions p{margin-bottom:0}.tabs{display:flex;gap:8px;margin:20px 0}.tabs button{flex:1;min-height:62px}.tabs .selected{background:var(--green);border-color:var(--green);color:white}.search-label{font-size:16px;font-weight:700}.picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0 20px}.place{min-height:78px;font-size:24px;padding:10px}.place small{display:block;font-size:11px;font-weight:400;line-height:1.2;color:var(--muted);margin-top:3px}.place.selected{background:#def0df;border:3px solid var(--green);padding:8px}.start-dock{position:sticky;bottom:0;background:#f5f4eff5;padding:12px 0 max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--border);z-index:2}.start-dock p{text-align:center;margin:0 0 10px;font-weight:700;color:#173f38}.mega{min-height:108px;font-size:38px;border-radius:16px;letter-spacing:1px}.mega span{display:block;font-size:16px;font-weight:400;letter-spacing:0;margin-top:4px}.stop{width:100%;background:#b4232b;color:white;border:0}.timer-panel{text-align:center;padding-top:34px}.timer-panel h1{font-size:40px}.timer{font-size:62px;line-height:1.2;font-weight:700;font-variant-numeric:tabular-nums;color:var(--green);margin:24px 0 10px}.hint{font-size:14px;margin:18px 0 0}.notice{background:#e4f2e7;color:#17442b;border:1px solid #78a788;border-radius:12px;padding:16px;margin:12px 0;font-weight:700}.notice.error{background:#fff0ee;border-color:#bc625c;color:#89242c}.notice.pending{background:#fff4dc;border-color:#a17a31;color:#694400}.hidden{display:none!important}.history{margin-top:24px}.history-row{padding:14px 0;border-bottom:1px solid #e2e8e3}.history-top{display:flex;justify-content:space-between;gap:12px}.history-row small{display:block;color:var(--muted);margin-top:5px}.history-row:last-child{border-bottom:0}.heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.secondary{background:white}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.stat{background:white;border:1px solid var(--border);border-radius:15px;padding:18px}.stat strong{display:block;font-size:36px;line-height:1.2}.stat span{font-size:15px}.board{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.room-card{background:white;border:2px solid var(--border);border-radius:14px;padding:17px}.room-card.ok{background:#e3f1e4;border-color:#88ad8a}.room-card.in_progress{background:#fff2d7;border-color:#bc8d37}.room-number{font-size:29px;font-weight:700;margin-bottom:7px}.status{font-weight:700;font-size:16px;display:block}.room-card.ok .status{color:#1d622a}.room-card.in_progress .status{color:#775308}.room-card.waiting .status{color:#5a6661}.room-card small{display:block;font-size:13px;margin-top:6px;color:#41554b}.admin-form{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;align-items:end;margin:20px 0}.admin-form label{font-size:16px;font-weight:700}.admin-form button{margin-bottom:12px}summary{cursor:pointer;font-weight:700;font-size:22px;min-height:44px}.management-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--border)}.management-row small{display:block;font-size:14px;color:var(--muted)}.management-actions{display:flex;gap:8px}.management-actions button{font-size:14px;min-height:48px;padding:10px}footer{text-align:center;color:#68766c;font-size:13px;padding:25px 20px 30px}.empty{font-size:16px;color:var(--muted);padding:15px 0}@media(max-width:600px){h1{font-size:30px}.top{padding:18px 16px}.brand strong{font-size:18px}.brand span{font-size:10px}.identity{padding:14px 16px;font-size:13px;flex-wrap:wrap}main{padding:0 16px;margin-top:12px}.card{padding:20px;border-radius:16px}.login{margin:26px auto}.picker{gap:8px}.place{font-size:23px;min-height:78px}.timer{font-size:52px}.timer-panel h1{font-size:36px}.board{grid-template-columns:repeat(2,1fr);gap:10px}.room-card{padding:14px}.stats{gap:8px}.stat{padding:14px 10px}.stat strong{font-size:30px}.stat span{font-size:12px}.admin-form{grid-template-columns:1fr;gap:0}.management-row{align-items:flex-start;flex-direction:column}.management-actions{width:100%;flex-wrap:wrap}.management-actions button{flex:1}.admin-nav{padding:0 16px 10px}.admin-nav a{font-size:14px}.heading .secondary{font-size:15px;padding:10px;min-height:50px}}
:where(dialog){max-width:520px;width:calc(100% - 32px);max-height:90vh;overflow:auto;border:1px solid #d1d9d3;border-radius:20px;padding:26px;color:#172c28;font-size:18px}dialog::backdrop{background:#0b2922b3}dialog .secondary{width:100%;margin-top:18px}dialog li{margin-bottom:12px}dialog h3{font-size:20px}.install-link{background:transparent;border:0;min-height:48px;font-size:14px;text-decoration:underline;padding:10px}
.place.task-assigned,.room-card.assigned{background:#ffebcf;border-color:#bd7e2b}.place.task-assigned small{color:#714506;font-weight:700}.place.task-ok{background:#e3f1e4;border-color:#88ad8a}.daily-summary{font-size:20px;font-weight:700;color:var(--green);white-space:nowrap}.identity{align-items:center}body[data-admin=no] #select-panel>.tabs{margin-top:0}.task-places{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:18px 0}.task-places label{display:flex;align-items:center;gap:8px;min-height:54px;padding:10px;background:#f5f4ef;border:1px solid #d1d9d3;border-radius:10px;cursor:pointer}.task-places input{width:22px;min-height:22px;height:22px;margin:0;accent-color:#173f38}.task-places label:has(input:checked){background:#ffebcf;border-color:#bd7e2b}@media(max-width:600px){.task-places{grid-template-columns:repeat(3,1fr);gap:7px}.task-places label{font-size:15px;padding:8px}}
.setting-toggle{display:flex;gap:15px;align-items:center;font-weight:700;min-height:60px}.setting-toggle input{width:28px;height:28px;min-height:28px;margin:0;accent-color:#173f38}.camera-button{display:block;text-align:center;padding:20px;background:#fff2d7;border:2px solid #bc8d37;border-radius:12px;font-weight:700;cursor:pointer}.photo-preview{display:block;max-width:100%;max-height:300px;border-radius:12px;margin:15px auto}.room-photo{display:block;width:100%;height:90px;object-fit:cover;border-radius:8px;margin-top:12px}.room-card.photo_pending{background:#fff2d7;border-color:#bc8d37}.photo-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.photo-gallery img{width:100%;height:140px;object-fit:cover;border-radius:10px}.photo-gallery strong,.photo-gallery small{display:block}.photo-gallery small{font-size:13px;color:#53635f}.photo-gallery .empty{grid-column:1/-1}@media(max-width:600px){.photo-gallery{grid-template-columns:repeat(2,1fr)}.photo-gallery img{height:120px}}
.panel-nav{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.panel-nav a{display:flex;justify-content:center;align-items:center;flex:1;min-height:48px;padding:10px;color:#173f38;border:1px solid #a2b5a9;border-radius:10px;text-decoration:none;background:white;font-size:15px;font-weight:700}html{scroll-behavior:smooth}#board,#task-form,#user-form,#photos-section{scroll-margin-top:16px}
body.timer-active{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}
.timer-active .top{flex-shrink:0;padding-top:12px;padding-bottom:12px}
.timer-active .identity{flex-shrink:0;width:100%;padding-top:8px;padding-bottom:8px;gap:8px;flex-wrap:wrap}
.timer-active main{flex:1;min-height:0;display:flex;flex-direction:column;width:100%;margin:0 auto;padding-bottom:max(12px,env(safe-area-inset-bottom))}
.timer-active footer,.timer-active .admin-nav,.timer-active #active-description,.timer-active #active-panel .hint,.timer-active #notice:not(.error):not(.pending){display:none}
.timer-active #active-panel{flex:1;min-height:0;margin:0;display:flex;flex-direction:column;align-items:center;padding:clamp(12px,3dvh,26px);gap:8px}
.timer-active #active-panel h1{font-size:clamp(28px,5dvh,40px);margin:0;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.timer-active .timer{font-size:clamp(40px,10dvh,64px);margin:clamp(8px,3dvh,24px) 0}
.timer-active #active-start{margin:0}
.timer-active #stop{margin-top:auto;flex-shrink:0;min-height:clamp(88px,18dvh,140px)}
.timer-active #notice{flex-shrink:0;font-size:15px;padding:10px;margin:0 0 8px}
@media(max-height:500px){.timer-active .brand span,.timer-active #active-start,.timer-active #active-panel .eyebrow{display:none}.timer-active .top{padding-top:6px;padding-bottom:6px}.timer-active #active-panel{gap:4px;padding:10px}.timer-active .timer{font-size:36px;margin:4px 0}.timer-active #stop{min-height:76px;padding:8px}.timer-active #stop span{margin-top:0}}
.photo-remove{width:100%;min-height:48px;margin-top:10px;font-size:15px;color:#89242c;border-color:#bc625c;padding:8px}.log-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin-top:18px}.log-filters label{font-size:15px;font-weight:700}.log-filters button{grid-column:1/-1}.log-row{padding:14px 0;border-bottom:1px solid var(--border);font-size:15px;overflow-wrap:anywhere}.log-row strong{display:block;margin-bottom:4px}#logs-more{width:100%;margin-top:16px}#board-section .board{margin-bottom:0}[data-remember]{scroll-margin-top:16px}#running-list .empty{margin-bottom:0}@media(max-width:600px){.log-filters{grid-template-columns:1fr 1fr}.log-filters label:first-child{grid-column:1/-1}#board-section{padding:14px}#board-section summary{font-size:20px}.panel-nav a{flex-basis:calc(33% - 8px)}}
.place-section>summary{font-size:18px;padding:12px 0;min-height:48px}.place-section .tabs{margin:12px 0}.place-section{margin-bottom:12px}
