:root{--bg: #ffffff;--sidebar: #f9f9f9;--surface: #f4f4f4;--hover: #ececec;--selected: #e8e8e8;--border: rgba(0, 0, 0, .1);--border-strong: rgba(0, 0, 0, .18);--text: #0d0d0d;--text-2: #5d5d5d;--text-3: #8f8f8f;--primary: #0d0d0d;--on-primary: #ffffff;--green: #10a37f;--green-text: #0b7a5e;--green-soft: rgba(16, 163, 127, .12);--red: #e02e2a;--red-text: #c4221f;--red-soft: rgba(224, 46, 42, .09);--amber-text: #9a6200;--amber-soft: rgba(230, 160, 20, .14);--overlay: rgba(0, 0, 0, .45);--shadow: 0 8px 32px rgba(0, 0, 0, .14), 0 1px 3px rgba(0, 0, 0, .08);--radius: 12px;--radius-lg: 16px;--font: ui-sans-serif, -apple-system, system-ui, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #212121;--sidebar: #171717;--surface: #2f2f2f;--hover: #2f2f2f;--selected: #3a3a3a;--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .2);--text: #ececec;--text-2: #b4b4b4;--text-3: #8a8a8a;--primary: #ececec;--on-primary: #0d0d0d;--green-text: #3fc9a1;--green-soft: rgba(16, 163, 127, .2);--red: #ff5a54;--red-text: #ff7b76;--red-soft: rgba(255, 90, 84, .14);--amber-text: #f0b44c;--amber-soft: rgba(240, 180, 76, .16);--overlay: rgba(0, 0, 0, .6);--shadow: 0 8px 32px rgba(0, 0, 0, .5);color-scheme:dark}}:root[data-theme=dark]{--bg: #212121;--sidebar: #171717;--surface: #2f2f2f;--hover: #2f2f2f;--selected: #3a3a3a;--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .2);--text: #ececec;--text-2: #b4b4b4;--text-3: #8a8a8a;--primary: #ececec;--on-primary: #0d0d0d;--green-text: #3fc9a1;--green-soft: rgba(16, 163, 127, .2);--red: #ff5a54;--red-text: #ff7b76;--red-soft: rgba(255, 90, 84, .14);--amber-text: #f0b44c;--amber-soft: rgba(240, 180, 76, .16);--overlay: rgba(0, 0, 0, .6);--shadow: 0 8px 32px rgba(0, 0, 0, .5);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}h1,h2,h3,p{margin:0}.num{font-variant-numeric:tabular-nums}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.small{font-size:13px}.tiny{font-size:12px}.strong{font-weight:600}.nowrap{white-space:nowrap}.red{color:var(--red-text)}.green{color:var(--green-text)}.stack{display:flex;flex-direction:column;gap:12px}.stack-sm{display:flex;flex-direction:column;gap:6px}.row{display:flex;align-items:center;gap:8px}.row-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.spread{display:flex;align-items:center;justify-content:space-between;gap:12px}.grow{flex:1;min-width:0}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell{display:flex;height:100%}.sidebar{width:260px;flex:none;background:var(--sidebar);display:flex;flex-direction:column;padding:8px;gap:2px;height:100%;overflow-y:auto}.sidebar-head{padding:6px 4px 10px}.brand{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;width:100%;background:none;border:0;text-align:left;cursor:default}.brand.switch{cursor:pointer}.brand.switch:hover{background:var(--hover)}.brand-mark{width:28px;height:28px;border-radius:8px;flex:none;background:var(--primary);color:var(--on-primary);display:grid;place-items:center}.brand-name{font-weight:600;font-size:14px;line-height:1.2}.brand-sub{font-size:12px;color:var(--text-2);line-height:1.2}.nav-label{font-size:12px;color:var(--text-3);padding:14px 10px 4px}.nav-item{display:flex;align-items:center;gap:10px;height:38px;padding:0 10px;border-radius:10px;color:var(--text);text-decoration:none;font-size:14px;background:none;border:0;width:100%;text-align:left;cursor:pointer}.nav-item:hover{background:var(--hover)}.nav-item.active{background:var(--selected);font-weight:500}.nav-item svg{flex:none;color:var(--text-2)}.nav-item.active svg{color:var(--text)}.nav-count{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--red);color:#fff;font-size:12px;font-weight:600;display:grid;place-items:center}.nav-count.quiet{background:var(--surface);color:var(--text-2)}.sidebar-foot{margin-top:auto;padding-top:8px}.account{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:10px;border:0;background:none;cursor:pointer;text-align:left}.account:hover,.account.active{background:var(--hover)}.avatar{width:28px;height:28px;border-radius:50%;flex:none;background:var(--text-3);color:#fff;font-size:12px;font-weight:600;display:grid;place-items:center}.main{flex:1;min-width:0;display:flex;flex-direction:column;height:100%;overflow:hidden}.topbar{height:56px;flex:none;border-bottom:1px solid transparent}.topbar-inner{max-width:880px;height:100%;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:12px}.topbar-inner.wide{max-width:none}.topbar.bordered{border-bottom-color:var(--border)}.topbar h1{font-size:18px;font-weight:600;line-height:1.2}.topbar .actions{margin-left:auto;display:flex;gap:8px;align-items:center}.topbar .menu-button{display:none}.page{flex:1;overflow-y:auto}.content{max-width:880px;margin:0 auto;padding:8px 20px 48px}.content.wide{max-width:none}.section-title{font-size:15px;font-weight:600;margin:24px 0 10px}.section-title:first-child{margin-top:8px}@media (max-width: 860px){.sidebar{position:fixed;z-index:40;inset:0 auto 0 0;width:280px;transform:translate(-100%);transition:transform .2s ease}.sidebar.open{transform:none;box-shadow:var(--shadow)}.day-toolbar .day-title{flex:1;text-align:center}.day-toolbar .date-input{display:none}.scrim{position:fixed;inset:0;background:var(--overlay);z-index:39}.topbar .menu-button{display:inline-grid}.topbar-inner{padding:0 12px}.content{padding:8px 16px 48px}}.btn{height:36px;padding:0 14px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:14px;font-weight:500;white-space:nowrap;border:1px solid var(--border-strong);background:var(--bg);color:var(--text);cursor:pointer}.btn:hover{background:var(--hover)}a.btn{text-decoration:none}.btn:disabled{opacity:.45;cursor:default}.btn:disabled:hover{background:var(--bg)}.btn-primary{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.btn-primary:hover{background:var(--primary);opacity:.86}.btn-primary:disabled:hover{background:var(--primary);opacity:.45}.btn-danger{color:var(--red-text)}.btn-danger-fill{background:var(--red);border-color:var(--red);color:#fff}.btn-danger-fill:hover{background:var(--red);opacity:.88}.btn-ghost{border-color:transparent;background:none}.btn-ghost:disabled:hover{background:none}.btn-sm{height:30px;padding:0 12px;font-size:13px}.btn-lg{height:44px;padding:0 20px;font-size:15px}.btn-block{width:100%}.icon-btn{width:36px;height:36px;border-radius:10px;border:0;background:none;cursor:pointer;display:inline-grid;place-items:center;color:var(--text-2);flex:none}.icon-btn:hover{background:var(--hover);color:var(--text)}.icon-btn-sm{width:30px;height:30px;border-radius:8px}.link{background:none;border:0;padding:0;color:var(--text);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:inherit}.link.muted{color:var(--text-2)}.input,.select,.textarea{width:100%;height:40px;padding:0 12px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg);outline:none;font-size:14px}.textarea{height:auto;min-height:84px;padding:10px 12px;resize:vertical;line-height:1.45}.select{appearance:none;padding-right:32px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238f8f8f' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.input:focus,.select:focus,.textarea:focus{border-color:var(--text-3)}.input[aria-invalid=true]{border-color:var(--red)}.phone-input{display:flex;align-items:center;height:40px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg);overflow:hidden}.phone-input:focus-within{border-color:var(--text-3)}.phone-prefix{padding:0 10px 0 12px;font-weight:600;border-right:1px solid var(--border);line-height:22px}.phone-input input{flex:1;min-width:0;height:100%;border:0;outline:none;background:none;padding:0 12px;font-size:14px;font-variant-numeric:tabular-nums}.auth-card .phone-input{height:48px;border-radius:999px}.auth-card .phone-prefix{padding-left:18px;font-size:15px}.auth-card .phone-input input{font-size:15px}.label{font-size:13px;color:var(--text-2);margin-bottom:6px;display:block}.hint{font-size:12px;color:var(--text-3);margin-top:6px}.error-text{font-size:13px;color:var(--red-text)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 520px){.field-row{grid-template-columns:1fr}}.search{display:flex;align-items:center;gap:8px;height:44px;padding:0 14px;border-radius:999px;background:var(--surface);border:1px solid transparent}.search:focus-within{border-color:var(--border-strong)}.search input{flex:1;border:0;background:none;outline:none;font-size:15px;min-width:0}.search svg{color:var(--text-3);flex:none}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{height:32px;padding:0 12px;border-radius:999px;font-size:13px;font-weight:500;border:1px solid var(--border-strong);background:var(--bg);cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.chip:hover{background:var(--hover)}.chip.on{background:var(--selected);border-color:transparent}.chip .count{color:var(--text-3);font-weight:500}.chip.on .count{color:var(--text-2)}.segmented{display:inline-flex;padding:3px;gap:2px;border-radius:999px;background:var(--surface)}.segmented button{height:30px;padding:0 12px;border-radius:999px;border:0;background:none;cursor:pointer;font-size:13px;font-weight:500;color:var(--text-2)}.segmented button.on{background:var(--bg);color:var(--text);box-shadow:0 1px 2px #0000001f}.check{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:14px}.check input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--primary);flex:none}.toggle{position:relative;width:40px;height:24px;flex:none}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle span{position:absolute;inset:0;border-radius:12px;background:var(--border-strong);transition:background .15s;cursor:pointer}.toggle span:after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px #0003}.toggle input:checked+span{background:var(--green)}.toggle input:checked+span:after{transform:translate(16px)}.toggle input:disabled+span{opacity:.5;cursor:default}.card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;background:var(--bg)}.card.flat{background:var(--surface);border-color:transparent}.card.clickable{cursor:pointer}.card.clickable:hover{background:var(--hover)}.card.urgent{border-color:var(--red);background:var(--red-soft)}.list{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.list-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--border)}.list-row:first-child{border-top:0}.list-row.clickable{cursor:pointer}.list-row.clickable:hover{background:var(--hover)}.list-row.dim{opacity:.55}.cover-thumb{position:relative;flex:none;padding:0;overflow:hidden;display:grid;place-items:center;cursor:pointer;border:0;border-radius:10px;background:var(--surface);color:var(--text-2)}.cover-thumb:hover{box-shadow:inset 0 0 0 1px var(--border-strong);color:var(--text)}.cover-thumb:focus-visible{outline:2px solid var(--green);outline-offset:2px}.cover-thumb img{width:100%;height:100%;object-fit:cover;display:block}.cover-thumb-count{position:absolute;right:3px;bottom:3px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#12241cc7;color:#fff;font-size:11px;line-height:18px;font-weight:600;text-align:center}.cover-frame{position:relative;aspect-ratio:390 / 300;overflow:hidden;border-radius:12px;background:var(--surface)}.cover-frame.empty{cursor:pointer;box-shadow:inset 0 0 0 1px var(--border-strong)}.cover-frame.empty:hover{background:var(--hover)}.cover-frame.dragging{box-shadow:inset 0 0 0 2px var(--green)}.cover-frame>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cover-frame-scrim{position:absolute;inset:0;background:linear-gradient(#12241c73,#12241c00 30%,#12241c8c 62%,#12241ceb)}.cover-frame-name{position:absolute;left:16px;right:16px;bottom:14px;color:#fff;font-size:22px;line-height:28px;font-weight:600}.cover-frame-tag,.cover-frame-count{position:absolute;top:12px;height:24px;padding:0 10px;border-radius:12px;background:#12241cb8;color:#fff;font-size:12px;line-height:24px;font-weight:600}.cover-frame-tag{left:12px}.cover-frame-count{right:12px;font-variant-numeric:tabular-nums}.cover-frame-hint{position:absolute;inset:0;padding:24px;display:grid;place-content:center;justify-items:center;gap:8px;color:var(--text-2);text-align:center}.photo-strip{display:flex;gap:8px;overflow-x:auto;padding:2px}.photo-strip-item{flex:none;width:60px;height:60px;padding:0;overflow:hidden;display:grid;place-items:center;cursor:pointer;border:0;border-radius:10px;background:var(--surface);color:var(--text-2)}.photo-strip-item img{width:100%;height:100%;object-fit:cover;display:block}.photo-strip-item.on{outline:2px solid var(--green);outline-offset:1px}.photo-strip-item.add:hover{background:var(--hover);color:var(--text)}.photo-strip-item:focus-visible{outline:2px solid var(--green);outline-offset:1px}.cover-frame-busy{position:absolute;inset:0;display:grid;place-items:center;background:#12241c73}.badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap;background:var(--surface);color:var(--text-2)}.badge.green{background:var(--green-soft);color:var(--green-text)}.badge.red{background:var(--red-soft);color:var(--red-text)}.badge.amber{background:var(--amber-soft);color:var(--amber-text)}.badge.dark{background:var(--primary);color:var(--on-primary)}.banner{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius);background:var(--surface);font-size:14px}.banner.red{background:var(--red-soft);color:var(--red-text)}.banner.amber{background:var(--amber-soft);color:var(--amber-text)}.banner.green{background:var(--green-soft);color:var(--green-text)}.banner .btn{margin-left:auto}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-lg)}table.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-weight:500;font-size:12px;color:var(--text-3);padding:10px 14px;white-space:nowrap;border-bottom:1px solid var(--border)}.table td{padding:12px 14px;border-top:1px solid var(--border);vertical-align:top}.table tr:first-child td{border-top:0}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:var(--hover)}.table tr.dim td{opacity:.55}.table td.right,.table th.right{text-align:right}.empty{text-align:center;padding:56px 16px;color:var(--text-2)}.empty-icon{width:48px;height:48px;border-radius:50%;background:var(--surface);display:grid;place-items:center;margin:0 auto 14px;color:var(--text-2)}.empty h3{font-size:16px;color:var(--text);font-weight:600;margin-bottom:4px}.spinner{width:20px;height:20px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--text);animation:spin .8s linear infinite}.loading{display:grid;place-items:center;padding:64px 0}@keyframes spin{to{transform:rotate(360deg)}}.kv{display:grid;grid-template-columns:140px 1fr;gap:8px 16px;font-size:14px}.kv dt{color:var(--text-2)}.kv dd{margin:0}@media (max-width: 520px){.kv{grid-template-columns:1fr;gap:2px}.kv dd{margin-bottom:8px}}.stat{padding:16px;border-radius:var(--radius-lg);background:var(--surface)}.stat .value{font-size:24px;font-weight:600;margin-top:4px}.stats{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:12px}@media (max-width: 640px){.stats{grid-auto-flow:row}}.progress{height:6px;border-radius:3px;background:var(--border);overflow:hidden}.progress>div{height:100%;background:var(--green);border-radius:3px}.code-box{font-family:var(--mono);font-size:22px;letter-spacing:.02em;text-align:center;padding:16px;border-radius:var(--radius);background:var(--surface);user-select:all}.overlay{position:fixed;inset:0;background:var(--overlay);z-index:50;display:grid;place-items:center;padding:16px;animation:fade .12s ease}.dialog{width:100%;max-width:480px;max-height:calc(100vh - 32px);overflow-y:auto;background:var(--bg);border-radius:var(--radius-lg);box-shadow:var(--shadow);display:flex;flex-direction:column}.dialog.wide{max-width:640px}.dialog-head{display:flex;align-items:flex-start;gap:12px;padding:18px 20px 6px}.dialog-head h2{font-size:18px;font-weight:600;line-height:1.3}.dialog-head .sub{font-size:13px;color:var(--text-2);margin-top:2px}.dialog-body{padding:10px 20px 4px;display:flex;flex-direction:column;gap:14px}.dialog-body:last-child{padding-bottom:20px}.dialog-foot{padding:16px 20px 18px;display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}@keyframes fade{0%{opacity:0}}@media (max-width: 640px){.overlay{place-items:end stretch;padding:0}.dialog{max-width:none;border-radius:16px 16px 0 0;max-height:92vh}.dialog-foot{flex-direction:column-reverse}.dialog-foot .btn{width:100%;height:44px}}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:60;background:var(--primary);color:var(--on-primary);padding:10px 16px;border-radius:999px;font-size:14px;box-shadow:var(--shadow);animation:fade .15s ease;max-width:calc(100vw - 32px)}.auth{min-height:100%;display:grid;place-items:center;padding:24px 16px}.auth-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px}.auth-card h1{font-size:28px;font-weight:600;text-align:center;letter-spacing:-.01em}.auth-card .lead{text-align:center;color:var(--text-2);margin-bottom:8px}.auth-card .input{height:48px;border-radius:999px;padding:0 18px;font-size:15px}.auth-card .btn{height:48px;font-size:15px}.password{position:relative}.password .input{padding-right:96px}.password button{position:absolute;right:6px;top:50%;transform:translateY(-50%)}.day-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:4px 0 14px}.day-title{font-size:15px;font-weight:600}.timeline{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.timeline-scroll{overflow-x:auto;position:relative}.tl-grid{position:relative}.tl-head,.tl-row{display:flex}.tl-head{border-bottom:1px solid var(--border);background:var(--bg)}.tl-name{position:sticky;left:0;z-index:3;width:190px;flex:none;background:var(--bg);border-right:1px solid var(--border);padding:10px 12px}.tl-head .tl-name{font-size:12px;color:var(--text-3);display:flex;align-items:center}.tl-hours{position:relative;height:32px;flex:none}.tl-hour{position:absolute;top:0;height:100%;border-left:1px solid var(--border);font-size:12px;color:var(--text-3);padding:8px 0 0 6px}.tl-row{border-top:1px solid var(--border)}.tl-row:first-of-type{border-top:0}.tl-track{position:relative;height:84px;flex:none}.tl-line{position:absolute;top:0;bottom:0;border-left:1px solid var(--border)}.tl-line.half{border-left-style:dotted;opacity:.6}.tl-closed{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(-45deg,transparent 0 6px,var(--surface) 6px 7px)}.tl-gap{position:absolute;top:4px;bottom:4px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:transparent;font-size:12px}.tl-gap:hover{background:var(--surface);color:var(--text-2)}.tl-item{position:absolute;top:4px;bottom:4px;border-radius:10px;padding:6px 8px;overflow:hidden;font-size:12px;line-height:1.3;cursor:pointer;border:1px solid var(--border-strong);background:var(--surface);display:flex;flex-direction:column;gap:1px;text-align:left}.tl-item:hover{filter:brightness(.97)}.tl-item .t{font-weight:600;font-size:12px}.tl-item>span:nth-child(2){white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tl-item.app{background:var(--green-soft);border-color:transparent;border-left:3px solid var(--green)}.tl-item.answer{background:var(--red-soft);border:1.5px solid var(--red)}.tl-item.closure{background:repeating-linear-gradient(-45deg,var(--bg) 0 6px,var(--surface) 6px 12px);border-style:dashed;color:var(--text-2)}.tl-item.claimant{background:var(--bg);border:1.5px dashed var(--green);z-index:1}.tl-item .progress{height:4px;flex:none}.tl-now{position:absolute;top:0;bottom:0;width:2px;background:var(--red);z-index:2;pointer-events:none}.tl-now:before{content:"";position:absolute;top:-3px;left:-3px;width:8px;height:8px;border-radius:50%;background:var(--red)}.daylist{display:flex;flex-direction:column;gap:8px}.daylist-item{display:flex;gap:12px;padding:12px 14px;border-radius:var(--radius);border:1px solid var(--border);cursor:pointer;background:var(--bg);text-align:left;width:100%}.daylist-item:hover{background:var(--hover)}.daylist-item .time{width:92px;flex:none;font-weight:600;font-variant-numeric:tabular-nums}.daylist-item.app{border-left:3px solid var(--green)}.daylist-item.answer{border-color:var(--red);background:var(--red-soft)}.daylist-item.closure,.daylist-item.gap{border-style:dashed;color:var(--text-2)}.daylist-item.gap.dead{cursor:default;opacity:.6}.week{display:grid;grid-template-columns:repeat(7,minmax(92px,1fr));gap:8px;overflow-x:auto}.week-day{border:1px solid var(--border);border-radius:var(--radius);padding:10px;display:flex;flex-direction:column;gap:6px;min-height:180px}.week-day.today{border-color:var(--text-3);background:var(--surface)}.week-day .head{font-size:13px;font-weight:600;cursor:pointer}.week-item{font-size:12px;padding:6px 8px;border-radius:8px;background:var(--surface);cursor:pointer;border:1px solid var(--border)}.week-day.today .week-item{background:var(--bg)}.week-item.app{background:var(--green-soft);border-color:transparent}.week-item.answer{background:var(--red-soft);border-color:var(--red)}.week-item.closure{border-style:dashed;color:var(--text-2);background:none}.week-day .foot{margin-top:auto;font-size:12px;color:var(--text-2)}.month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.month-head{font-size:12px;color:var(--text-3);padding:0 4px}.month-day{display:flex;flex-direction:column;gap:6px;min-width:0;min-height:84px;padding:8px;text-align:left;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.month-day:hover{background:var(--hover)}.month-day.today{border-color:var(--text-3);background:var(--surface)}.month-day.outside{opacity:.4}.month-day.answer{border-color:var(--red)}.month-day>.small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-day .progress{display:block;width:100%}.month-day .progress>span{display:block;height:100%;background:var(--green);border-radius:3px}@media (max-width: 640px){.month{gap:4px}.month-day{min-height:56px;padding:6px}.month-day>.small{display:none}}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 720px){.grid-2{grid-template-columns:1fr}}.hours-row{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center;padding:8px 0;border-top:1px solid var(--border)}.hours-row:first-child{border-top:0}.hours-row .times{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.hours-row .times .select{width:110px}.pill-tag{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;background:var(--surface);font-size:13px}
