:root{color:#1c1f23;background:#f6f7f8;font-family:system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}.page{max-width:480px;margin:0 auto;padding:16px}h1{margin:8px 0 16px;font-size:22px}h2{font-size:18px}label{margin:12px 0;font-size:14px;display:block}input{border:1px solid #b8bdc4;border-radius:8px;width:100%;margin-top:4px;padding:12px;font-size:16px;display:block}.big{background:#fff;border:1px solid #b8bdc4;border-radius:12px;min-height:56px;font-size:20px}.big:active{background:#e6e9ec}.ghost{background:0 0;border-color:#0000}form>.big{color:#fff;background:#1f5fbf;border-color:#1f5fbf;width:100%;margin-top:8px}.tabs{gap:8px;margin-bottom:16px;display:flex}.tab{background:#fff;border:1px solid #b8bdc4;border-radius:8px;flex:1;min-height:44px;font-size:16px}.tab.on{color:#fff;background:#1f5fbf;border-color:#1f5fbf}.names{gap:8px;display:grid}.pad{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px;display:grid}.dots{justify-content:center;gap:12px;margin:16px 0;display:flex}.dot{border:2px solid #1f5fbf;border-radius:50%;width:16px;height:16px}.dot.on{background:#1f5fbf}.error{color:#b23a2e}.link{color:#1f5fbf;background:0 0;border:0;padding:12px 0;font-size:15px;text-decoration:underline}.bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.banner{background:#fff3cd;border-bottom:1px solid #e0c36a;justify-content:center;align-items:center;gap:12px;padding:8px 16px;display:flex}.office{max-width:860px}select{background:#fff;border:1px solid #b8bdc4;border-radius:8px;width:100%;margin-top:4px;padding:12px;font-size:16px;display:block}.check{align-items:center;gap:8px;display:flex}.check input{width:auto;margin:0}.add{background:#fff;border:1px solid #d5d9de;border-radius:12px;margin:16px 0;padding:0 16px 16px}.add button[type=submit]{color:#fff;background:#1f5fbf;border:0;border-radius:8px;margin-top:8px;padding:10px 20px;font-size:16px}.add button[disabled]{opacity:.5}.hint,.muted{color:#5b6370;font-size:14px}.rows{margin:0;padding:0;list-style:none}.row{border-bottom:1px solid #e3e6ea;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.row.archived{opacity:.6}.who{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.actions{flex-wrap:wrap;gap:8px;display:flex}.actions button{background:#fff;border:1px solid #b8bdc4;border-radius:8px;padding:8px 12px;font-size:14px}.badge{background:#e3e6ea;border-radius:10px;padding:2px 8px;font-size:12px}.badge.warn{background:#fff3cd}.pin-box{background:#eef4ff;border:1px solid #1f5fbf;border-radius:12px;margin:16px 0;padding:12px 16px}.pin{letter-spacing:6px;margin:4px 0;font-size:32px;font-weight:700}a.tab{color:inherit;justify-content:center;align-items:center;text-decoration:none;display:flex}a.tab.on{color:#fff}.primary{color:#fff;background:#1f5fbf;border:0;border-radius:8px;padding:10px 16px;font-size:16px}.page.office{max-width:1200px}.add{max-width:560px}.add.wide{max-width:760px}fieldset{border:1px solid #d5d9de;border-radius:8px;margin:12px 0}.chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip{background:#fff;border:1px solid #d5d9de;border-radius:8px;margin:4px 0;padding:6px 10px}.chips>button,.bar>.chips>button{background:#fff;border:1px solid #b8bdc4;border-radius:8px;padding:8px 12px;font-size:14px}.chips>button.primary,button.primary{color:#fff;background:#1f5fbf;border-color:#1f5fbf}.danger{color:#b23a2e;border-color:#b23a2e!important}.warn-text{color:#8a5a00;font-size:14px}.week{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:16px;display:grid}.day{background:#fff;border:1px solid #d5d9de;border-radius:12px;padding:8px 12px 12px}.day.past{opacity:.6}.day h3{margin:4px 0 0}.block{background:#f1f6ff;border-left:4px solid #1f5fbf;border-radius:6px;margin:8px 0;padding:6px 8px;font-size:14px}@media (width>=1100px){.week{grid-template-columns:repeat(6,minmax(0,1fr))}}.grid-scroll{background:#fff;border:1px solid #d5d9de;border-radius:12px;margin-top:16px;overflow-x:auto}.plan-grid{border-collapse:collapse;table-layout:fixed;width:100%;min-width:860px}.plan-grid th,.plan-grid td{vertical-align:top;text-align:left;border:1px solid #e3e6ea;padding:6px;font-weight:400}.plan-grid thead th{background:#f6f7f8;font-weight:600}.plan-grid thead th .hint{font-size:12px;font-weight:400;display:block}.plan-grid tbody th{z-index:1;background:#f6f7f8;width:110px;position:sticky;left:0}.plan-grid .past{opacity:.6}.plan-grid .block{text-align:left;width:100%;font:inherit;background:#f1f6ff;border:0;border-left:4px solid #1f5fbf;border-radius:6px;flex-direction:column;gap:2px;margin:0 0 6px;padding:6px 8px;font-size:13px;display:flex}button.block{cursor:pointer}.add-cell{color:#5b6370;background:0 0;border:1px dashed #b8bdc4;border-radius:6px;width:100%;min-height:32px;font-size:16px}.free-row td{font-size:12px}
