:root{color:#171717;--ink:#171717;--paper:#fff;--muted:#6b6b6b;--accent:#c43c3c;background:#ececec;font-family:SF Pro Display,Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(#e8e8ea 0%,#f3f3f4 40%,#ececec 100%);min-height:100dvh;margin:0}.app{max-width:720px;padding:14px 16px calc(28px + env(safe-area-inset-bottom));margin:auto}.banner{border-radius:14px;align-items:center;gap:8px;margin-bottom:10px;padding:10px 12px;font-size:13px;line-height:1.35;display:flex}.banner svg{flex-shrink:0;width:16px}.banner.warn{color:#fff;background:#2a2a2a}.banner.install{background:var(--ink);color:#fff;justify-content:space-between}.banner.install button{color:#111;background:#fff;border:0;border-radius:10px;align-items:center;gap:6px;padding:8px 10px;font-weight:600;display:inline-flex}.banner.install button svg{width:15px}.banner.hint{color:#5c2020;background:#fff4f4;border:1px solid #f0c9c9}header{color:#fff;background:radial-gradient(120% 80% at 100% 0,#c43c3c59,#0000 55%),linear-gradient(145deg,#111 0%,#2c2c2c 100%);border-radius:24px;justify-content:space-between;align-items:center;padding:22px;display:flex}h1{letter-spacing:-.02em;margin:4px 0;font-size:30px}header p,header small{opacity:.78;margin:0}header small{letter-spacing:.04em;text-transform:uppercase;font-size:11px}.avatar{background:#ffffff1a;border-radius:16px;place-items:center;width:52px;height:52px;font-size:24px;display:grid}.tabs{gap:8px;margin:16px 0;display:flex}.tabs button,.actions button{background:var(--paper);border:0;border-radius:14px;align-items:center;gap:7px;padding:10px 14px;display:flex;box-shadow:0 1px #0000000a}.tabs button svg,.actions svg{width:17px}.tabs .active{background:var(--ink);color:#fff}.days{-webkit-overflow-scrolling:touch;gap:8px;padding-bottom:10px;display:flex;overflow:auto}.days button{background:var(--paper);border:0;border-radius:16px;min-width:67px;padding:10px}.days .sel{background:var(--ink);color:#fff}.days span{margin-top:3px;font-size:10px;display:block}section{margin-top:12px}h2{margin-bottom:2px}.muted{color:var(--muted);margin-top:3px}.empty,article{background:var(--paper);border-radius:20px;margin:10px 0;padding:16px}article.done{opacity:.55}.top{gap:10px;display:flex}.top p{color:#666;margin:5px 0}.status{background:0 0;border:0;padding:0}.status svg{width:24px}.actions{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.stars{display:flex}.stars svg{color:#aaa;cursor:pointer;width:20px}.stars .fill{fill:var(--accent);color:var(--accent)}.check{text-align:left;background:var(--paper);border:0;border-radius:16px;flex:1;gap:12px;margin:0;padding:14px;display:flex}.check small{color:#888;display:block}.check svg{width:22px}.check-row{align-items:stretch;gap:6px;margin:8px 0;display:flex}.section-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.section-head h2{margin:0 0 2px}.grow{cursor:pointer;flex:1;min-width:0}.note-line{font-size:13px;color:#888!important}.icon-btn{background:#f0f0f0;border:0;border-radius:12px;flex-shrink:0;place-items:center;width:40px;height:40px;padding:0;display:grid}.icon-btn.ghost{background:0 0}.icon-btn svg{width:18px;height:18px}.add-btn{color:#444;background:0 0;border:1px dashed #bbb;border-radius:16px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:8px;padding:14px;font-weight:600;display:flex}.add-btn svg{width:18px}.sheet-backdrop{z-index:40;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:min(100%,720px);max-height:88dvh;padding:16px 16px calc(20px + env(safe-area-inset-bottom));background:#fff;border-radius:22px 22px 0 0;overflow:auto}.sheet-top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.sheet-top h3{margin:0;font-size:18px}.form{flex-direction:column;gap:12px;display:flex}.field{color:#555;flex-direction:column;gap:6px;font-size:13px;display:flex}.field input,.field textarea,.field select{font:inherit;color:#111;background:#fafafa;border:1px solid #e2e2e2;border-radius:12px;padding:12px}.field select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#666 50%),linear-gradient(135deg,#666 50%,#0000 50%);background-position:calc(100% - 18px),calc(100% - 12px);background-repeat:no-repeat;background-size:6px 6px,6px 6px}.filters{-webkit-overflow-scrolling:touch;gap:8px;padding:4px 0 12px;display:flex;overflow-x:auto}.chip{background:#fff;border:0;border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;display:inline-flex;box-shadow:0 1px #0000000a}.chip small{opacity:.55;font-size:11px;font-weight:500}.chip.on{background:var(--ink);color:#fff}.chip.on small{opacity:.7;color:#fff}.check-block{margin-bottom:14px}.check-block-head{justify-content:space-between;align-items:baseline;margin:8px 2px 4px;display:flex}.check-block-head h3{letter-spacing:.02em;text-transform:uppercase;color:#666;margin:0;font-size:14px;font-weight:700}.check-block-head span{color:#999;font-size:12px}.doc-card{background:var(--paper);border-radius:18px;margin:8px 0;padding:14px}.doc-card.missing{background:#fafafa;border:1px dashed #ccc}.doc-main{align-items:flex-start;gap:12px;display:flex}.doc-icon{background:#f0f0f0;border-radius:12px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.doc-icon svg{width:18px}.doc-url{color:#888;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:4px 0 0;font-size:12px;overflow:hidden}.doc-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:10px;display:flex}.doc-actions>button:not(.icon-btn){background:var(--ink);color:#fff;border:0;border-radius:12px;align-items:center;gap:6px;padding:10px 12px;font-size:13px;font-weight:600;display:inline-flex}.doc-actions>button:not(.icon-btn) svg{width:15px}.tabs{flex-wrap:wrap}.today-banner{color:#fff;background:#111;border-radius:14px;margin-bottom:12px;padding:12px 14px;font-size:14px}.today-banner.muted-banner{color:#555;background:#fff;border:1px solid #e5e5e5}.today-hero{color:#fff;background:radial-gradient(120% 80% at 100% 0,#c43c3c47,#0000 55%),linear-gradient(145deg,#171717 0%,#2e2e2e 100%);border-radius:22px;justify-content:space-between;gap:12px;margin-bottom:12px;padding:18px;display:flex}.today-hero small{opacity:.7;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.today-hero h2{letter-spacing:-.02em;margin:6px 0 4px;font-size:22px}.today-hero p{opacity:.75;margin:0;font-size:14px}.today-progress{text-align:center;background:#ffffff1a;border-radius:16px;align-self:center;min-width:72px;padding:12px 10px}.today-progress b{font-size:20px;display:block}.today-progress span{opacity:.7;font-size:11px}.hotel-card{background:var(--paper);border-radius:18px;margin:0 0 12px;padding:14px}.hotel-top{gap:12px;display:flex}.hotel-top>svg{flex-shrink:0;width:22px;margin-top:2px}.hotel-top small{color:#888;text-transform:uppercase;letter-spacing:.04em;font-size:11px;display:block}.hotel-top b{margin-top:2px;display:block}.hotel-top p{color:#555;margin:4px 0 0}.hotel-actions,.today-act .actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.hotel-actions button,.today-act .actions button,.ghost-btn{background:var(--ink);color:#fff;border:0;border-radius:12px;align-items:center;gap:6px;padding:10px 12px;font-size:13px;font-weight:600;display:inline-flex}.hotel-actions button svg,.today-act .actions button svg,.ghost-btn svg{width:15px}.ghost-btn,.hotel-actions .ghost-btn{color:#222;background:#f0f0f0}.today-act{background:var(--paper);border-radius:18px;margin:8px 0;padding:14px}.text-link{color:#666;background:0 0;border:0;padding:0;font-size:13px;font-weight:600}.text-link.block{text-align:center;width:100%;margin:10px 0 0;display:block}.map-sheet .map-title{margin:0;font-size:16px;font-weight:700}.map-sheet .map-query{color:#666;word-break:break-all;margin:4px 0 12px;font-size:14px}.map-action{background:var(--ink);color:#fff;border:0;border-radius:14px;justify-content:center;align-items:center;gap:10px;width:100%;margin-bottom:8px;padding:14px;font-weight:600;display:flex}.map-action svg{width:18px}.map-action.secondary{color:#222;background:#f2f2f2}.field textarea{resize:vertical}.form-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:6px;display:flex}.form-actions .primary,.form-actions .danger{border:0;border-radius:14px;align-items:center;gap:8px;padding:12px 18px;font-weight:600;display:inline-flex}.form-actions .primary{background:var(--ink);color:#fff}.form-actions .danger{color:#a11;background:#fee}.form-actions .danger svg{width:16px}footer{display:none}footer span{align-items:center;gap:8px;display:flex}footer svg{width:18px}
