aside{border-left:1px solid var(--border);overflow-y:auto;height:calc(100vh - var(--hh) - var(--bh));display:flex;flex-direction:column;scrollbar-width:thin;}
aside::-webkit-scrollbar{width:2px;}
aside::-webkit-scrollbar-thumb{background:rgba(255,255,255,.07);}
.clock-pnl{padding:15px;border-bottom:1px solid var(--border);flex-shrink:0;}
.pnl-title{font-family:var(--font-display);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);margin-bottom:13px;display:flex;align-items:center;justify-content:space-between;}
.refbtn{display:flex;align-items:center;gap:4px;padding:3px 9px;border-radius:6px;border:1px solid var(--border);background:var(--accent-faint);font-family:var(--font-mono);font-size:9.5px;color:var(--text-2);cursor:pointer;transition:all .2s;}
.refbtn:hover{border-color:var(--border-hover);color:var(--text-0);}
.refbtn.spin svg{animation:spinOnce .6s var(--ease);}
.clk-wrap{position:relative;width:140px;height:140px;margin:0 auto 10px;}
#clksvg{width:140px;height:140px;}
.rb{fill:none;stroke:rgba(255,255,255,.04);stroke-width:2;}
[data-theme="light"] .rb{stroke:rgba(0,0,0,.06);}
.rh{fill:none;stroke:rgba(255,255,255,.9);stroke-width:3;stroke-linecap:round;transition:stroke-dashoffset .45s var(--ease);}
.rm{fill:none;stroke:rgba(255,255,255,.55);stroke-width:2;stroke-linecap:round;transition:stroke-dashoffset .45s var(--ease);}
.rs{fill:none;stroke:rgba(255,255,255,.28);stroke-width:1.5;stroke-linecap:round;transition:stroke-dashoffset .1s linear;}
[data-theme="light"] .rh{stroke:rgba(0,0,0,.85);}
[data-theme="light"] .rm{stroke:rgba(0,0,0,.45);}
[data-theme="light"] .rs{stroke:rgba(0,0,0,.22);}
.clk-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.clk-time{font-family:var(--font-display);font-size:15px;font-weight:800;color:var(--text-0);letter-spacing:-.03em;}
.clk-sec{font-family:var(--font-mono);font-size:9.5px;color:var(--text-2);margin-top:1px;}
.clk-mlbl{font-size:8.5px;color:var(--text-2);margin-top:2px;text-transform:uppercase;letter-spacing:.1em;font-family:var(--font-mono);}
.clk-tzsel{background:var(--accent-faint);border:1px solid var(--border);border-radius:6px;color:var(--text-1);font-size:10px;font-family:var(--font-mono);padding:4px 8px;outline:none;cursor:pointer;width:100%;margin-top:6px;transition:border-color .2s;}
.clk-tzsel:focus{border-color:var(--border-hover);}
.clk-tzsel option{background:var(--bg-2);}
.clk-zname{font-size:11px;color:var(--text-1);margin-bottom:4px;font-family:var(--font-display);font-weight:600;text-align:center;}
.clk-leg{display:flex;gap:9px;justify-content:center;margin-top:8px;}
.leg-i{display:flex;align-items:center;gap:3px;font-size:9px;color:var(--text-2);font-family:var(--font-mono);}
.leg-d{width:6px;height:6px;border-radius:50%;}
.plan-pnl{padding:15px;flex:1;display:flex;flex-direction:column;min-height:0;}
.plan-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px;gap:9px;}
.pe-ico{width:42px;height:42px;border-radius:10px;background:var(--accent-faint);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-1);}
.pe-title{font-family:var(--font-display);font-size:12.5px;color:var(--text-0);font-weight:700;}
.pe-sub{font-size:11px;color:var(--text-2);line-height:1.6;max-width:190px;}
.qa-wrap{display:flex;flex-direction:column;gap:4px;width:100%;margin-top:3px;}
.qa-lbl{font-size:9px;color:var(--text-3);letter-spacing:.08em;text-transform:uppercase;align-self:flex-start;font-family:var(--font-mono);}
.qa-btn{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--accent-faint);border:1px solid var(--border);border-radius:7px;font-size:11px;color:var(--text-1);cursor:pointer;transition:all .18s;width:100%;text-align:left;}
.qa-btn:hover{background:rgba(255,255,255,.07);border-color:var(--border-hover);color:var(--text-0);}
[data-theme="light"] .qa-btn:hover{background:rgba(0,0,0,.06);}
#planrows{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;}
.planrow{display:flex;align-items:center;gap:6px;padding:7px 9px;background:var(--accent-faint);border:1px solid var(--border);border-radius:var(--r-sm);transition:all .18s;animation:slideIn .22s ease both;}
.planrow:hover{background:rgba(255,255,255,.05);border-color:var(--border-hover);}
[data-theme="light"] .planrow:hover{background:rgba(0,0,0,.05);}
.pr-flag{font-size:12px;flex-shrink:0;}
.pr-nwrap{flex:1;min-width:0;}
.pr-name{font-size:11px;color:var(--text-0);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);}
.pr-sub{font-size:8px;color:var(--blue);font-family:var(--font-mono);opacity:.85;}
.pr-time{font-family:var(--font-display);font-size:11px;color:var(--text-0);flex-shrink:0;font-weight:700;}
.pr-rm{background:none;border:none;color:var(--text-2);cursor:pointer;padding:2px;transition:color .18s;display:flex;align-items:center;flex-shrink:0;}
.pr-rm:hover{color:var(--red);}
.tlsec{margin-top:2px;}
.tl-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.tl-title{font-size:10px;font-family:var(--font-display);font-weight:800;color:var(--text-2);text-transform:uppercase;letter-spacing:.08em;}
.wh-row{display:flex;align-items:center;gap:5px;margin-bottom:8px;}
.wh-row input{width:42px;padding:4px 7px;background:var(--accent-faint);border:1px solid var(--border);border-radius:5px;color:var(--text-0);font-size:10.5px;font-family:var(--font-mono);outline:none;text-align:center;transition:border-color .2s;}
.wh-row input:focus{border-color:var(--border-hover);}
.wh-row span{font-size:10px;color:var(--text-2);font-family:var(--font-mono);}
.wh-warn{font-size:9.5px;color:var(--amber);font-family:var(--font-mono);min-height:13px;padding:0 2px;}
.tlchart{background:var(--accent-faint);border:1px solid var(--border);border-radius:9px;padding:11px;overflow:hidden;}
.tl-ruler{display:flex;justify-content:space-between;margin-bottom:7px;padding:0 2px;}
.tl-ruler span{font-family:var(--font-mono);font-size:8px;color:var(--text-2);}
.tlrow{margin-bottom:6px;}
.tlrow:last-of-type{margin-bottom:0;}
.tl-lbl{display:flex;align-items:center;gap:4px;margin-bottom:2px;}
.tl-f{font-size:9.5px;}
.tl-n{font-size:9.5px;color:var(--text-1);font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);}
.tl-tag{font-family:var(--font-mono);font-size:8.5px;color:var(--text-2);}
.tl-bwrap{height:9px;background:rgba(255,255,255,.03);border-radius:4px;position:relative;overflow:visible;}
.tl-btrack{position:absolute;inset:0;border-radius:4px;overflow:hidden;}
.tl-bar{position:absolute;top:0;bottom:0;border-radius:4px;transition:all .35s var(--ease);}
.tl-now{position:absolute;top:-3px;bottom:-3px;width:1.5px;background:var(--red);border-radius:1px;z-index:5;}
.tl-now::before{content:'NOW';position:absolute;top:-12px;left:50%;transform:translateX(-50%);font-family:var(--font-mono);font-size:6.5px;color:var(--red);white-space:nowrap;}
.hmsec{margin-top:9px;}
.hm-title{font-size:10px;font-family:var(--font-display);font-weight:800;color:var(--text-2);text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px;}
.hmgrid{display:grid;grid-template-columns:repeat(24,1fr);gap:2px;margin-bottom:3px;}
.hmcell{height:16px;border-radius:2px;cursor:pointer;transition:transform .12s;}
.hmcell:hover{transform:scaleY(1.3);z-index:2;}
.hmcell.f{background:rgba(34,197,94,.7);}
.hmcell.p{background:rgba(245,158,11,.45);}
.hmcell.n{background:rgba(255,255,255,.05);}
.hmcell.now{outline:2px solid var(--red);outline-offset:-1px;}
.hm-lbls{display:flex;justify-content:space-between;padding:0 1px;}
.hm-lbls span{font-family:var(--font-mono);font-size:7px;color:var(--text-2);}
.hm-leg{display:flex;gap:10px;margin-top:5px;}
.hml{display:flex;align-items:center;gap:3px;font-size:9px;color:var(--text-2);font-family:var(--font-mono);}
.hml-d{width:7px;height:7px;border-radius:2px;}
.mtg-box{margin-top:9px;padding:11px 12px;background:rgba(34,197,94,.06);border:1px solid rgba(34,197,94,.2);border-radius:var(--r-sm);animation:fadeUp .28s ease both;}
.mtg-lbl{font-size:9px;color:var(--green);font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;display:flex;align-items:center;gap:4px;font-family:var(--font-display);}
.mtg-win{font-family:var(--font-display);font-size:12.5px;color:var(--text-0);margin-bottom:7px;display:flex;align-items:center;gap:7px;font-weight:700;}
.cpbtn{padding:3px 8px;background:rgba(255,255,255,.08);border:1px solid var(--border);border-radius:4px;font-size:9px;font-family:var(--font-mono);color:var(--text-1);cursor:pointer;transition:all .18s;white-space:nowrap;}
.cpbtn:hover{background:rgba(255,255,255,.14);}
.cpbtn.done{color:var(--green);border-color:rgba(34,197,94,.3);background:rgba(34,197,94,.08);}
.mtg-rows{display:flex;flex-direction:column;gap:2px;}
.mtg-r{display:flex;justify-content:space-between;font-size:10px;color:var(--text-1);}
.mtg-r span:last-child{font-family:var(--font-mono);font-size:9.5px;color:var(--text-0);}
.no-ov{margin-top:9px;padding:10px 12px;background:rgba(239,68,68,.06);border:1px solid rgba(239,68,68,.2);border-radius:var(--r-sm);font-size:11px;color:var(--red);}
.no-ov small{display:block;color:var(--text-2);font-size:9.5px;margin-top:3px;}
