:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:#25382f;background:#f5f6f2;font-synthesis:none;--start:#ad602b;--end:#457ba7;--rest:#467761}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:3px solid #94bbaa;outline-offset:3px}main{max-width:560px;margin:auto;padding:28px 20px 30px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.brand{display:flex;gap:11px;align-items:center;font-size:21px;font-weight:700;letter-spacing:1px}.brand-icon{font-size:32px;color:#476b59}.brand small{display:block;font-size:11px;color:#879087;font-weight:400;letter-spacing:2px;margin-top:4px}.timezone{font-size:11px;color:#77847c;border:1px solid #dce2da;border-radius:20px;padding:6px 9px}.status-card{position:relative;overflow:hidden;background:#244d3c;border-radius:23px;padding:24px;color:#fff;box-shadow:0 10px 24px #274c3912}.status-top{position:relative;z-index:1;display:flex;justify-content:space-between;gap:8px;color:#c1d3c9;font-size:12px}.live{display:flex;align-items:center;gap:6px;white-space:nowrap}.live i{width:5px;height:5px;background:#b4d9a3;border-radius:50%}h1{font-size:36px;letter-spacing:2px;margin:24px 0 7px;font-weight:600}.status-card p{font-size:13px;color:#c3d4cb;margin:0 0 25px;position:relative;z-index:1}.decoration{position:absolute;right:-16px;top:38px;font-size:160px;line-height:1;color:#ffffff08;pointer-events:none}.next{position:relative;z-index:1;border-top:1px solid #ffffff25;padding-top:17px;display:flex;justify-content:space-between;align-items:end;gap:10px}.next div>span{display:block;font-size:11px;color:#b8cbbf;margin-bottom:7px}.next strong{font-size:16px;font-weight:500}#countdown{font-size:11px;color:#d9e5db;white-space:nowrap;padding-bottom:2px}.calendar{margin-top:28px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px}.month-select label{display:block;font-size:10px;color:#879087;letter-spacing:1px;margin-bottom:3px}.month-select input{color:#293f32;background:transparent;border:0;padding:3px 0;max-width:180px;font-size:21px;font-weight:650;min-height:36px}.navigation{display:flex;align-items:center;gap:5px}.navigation button{border:1px solid #e0e5dc;background:#fff;border-radius:10px;min-width:38px;height:40px;font-size:23px;color:#415a49}.navigation #today{font-size:12px;padding:0 11px}.navigation button:disabled{opacity:.35;cursor:default}.legend{display:flex;gap:15px;font-size:10px;margin:20px 0}.start{color:var(--start)}.end{color:var(--end)}.rest{color:var(--rest)}.weekdays,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekdays{text-align:center;font-size:11px;color:#8a938c;margin-bottom:11px}.days button{min-width:0;border:1px solid transparent;border-radius:11px;min-height:66px;padding:7px 0 5px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;position:relative}.days .start{background:#faeee2}.days .end{background:#eaf1f6}.days .rest{background:#e9f0e8}.days .number{font-size:18px;line-height:1.2;font-weight:550}.days .day-label{font-size:10px}.days .outside{opacity:.43}.days .selected{border-color:#315c45;box-shadow:0 0 0 1px #315c45}.days .is-today .number:after{content:"";display:inline-block;width:4px;height:4px;background:currentColor;border-radius:50%;position:absolute;top:6px;right:6px}.detail{margin-top:22px;padding:20px;background:#fff;border:1px solid #e4e8df;border-radius:18px}.detail-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:8px}h2{font-size:15px;font-weight:600;margin:0}#detail-badge{font-size:11px;background:#f4f6f1;padding:5px 8px;border-radius:6px}.period{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:10px 0;border-top:1px solid #f0f2ed}.period strong{font-weight:500}.period span{font-variant-numeric:tabular-nums;color:#69766e}#detail-note{font-size:11px;color:#8b938c;line-height:1.7;margin:12px 0 0}footer{text-align:center;margin-top:25px;color:#8a938b;font-size:11px}footer strong{font-weight:500;color:#64766a;letter-spacing:2px}footer p{margin:8px 0}footer>span{font-size:9px}@media(max-width:360px){main{padding:20px 12px}.status-card{padding:20px}.legend{gap:10px}.days,.weekdays{gap:3px}.month-select input{max-width:158px;font-size:18px}.navigation{gap:3px}.navigation button{min-width:34px}#countdown{font-size:10px}.next strong{font-size:14px}}
.pwa-panel{margin-top:20px;padding:14px 18px;border:1px solid #dce2da;border-radius:14px;color:#617368;font-size:12px;line-height:1.7}.pwa-panel p{margin:4px 0}.pwa-panel button{background:#244d3c;color:white;border:0;border-radius:8px;min-height:44px;padding:8px 14px;margin:8px 8px 8px 0}#install-help{font-size:11px;color:#7a877e}
.settings{margin:16px 0;padding:16px;background:#fff;border:1px solid #e4e8df;border-radius:14px;font-size:13px;line-height:1.7}.settings summary{cursor:pointer;font-weight:600;min-height:32px}.settings fieldset,#shift-actions{border:0;margin:10px 0 0;padding:0;min-width:0}.settings label,#shift-actions label{display:block;margin:10px 0;color:#617368}.settings input,.settings select,#shift-actions input{display:block;max-width:100%;width:100%;padding:10px;border:1px solid #dce2da;border-radius:8px;background:#fafbf8;color:#25382f;min-height:44px}.settings button,#shift-actions button{border:1px solid #dce2da;border-radius:8px;background:#f5f6f2;color:#244d3c;padding:9px 12px;min-height:44px;margin:4px 5px 4px 0;font-size:12px}.settings button:disabled{opacity:.5}.actions{display:flex;flex-wrap:wrap}#save-status{font-size:12px;color:#617368}#adjustment-note{font-size:12px;color:#ad602b;overflow-wrap:anywhere}.adjust-mark{font-size:8px;line-height:1;color:#765b3d}#export-list{max-height:230px;overflow:auto;padding-left:20px;font-size:12px}#calendar-stale{color:#a25524;overflow-wrap:anywhere}#export-status,#storage-note{font-size:12px;color:#617368}
