:root{--bg:#f2f1ef;--surface:#fff;--surface2:#f7f6f4;--surface3:#ebebea;--border:#e0dfdd;--border2:#c8c7c4;--text:#1c1c1a;--text2:#6b6a66;--text3:#a8a7a2;--green:#1a7a52;--green-bg:#e8f5ee;--green-t:#145c3d;--amber:#b87000;--amber-bg:#fdf3e0;--amber-t:#7a4a00;--red:#c0392b;--red-bg:#fdecea;--red-t:#8c1f14;--blue:#2d6be4;--r:8px;--rl:12px;--sw:196px}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg)}body{background:var(--bg);min-height:100vh;color:var(--text);letter-spacing:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic UI,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{color:inherit}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.55}.app-shell{width:100%;min-height:100vh;display:flex}.sb{z-index:100;width:var(--sw);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;display:flex;position:fixed;inset:0 auto 0 0}.sb-logo{border-bottom:1px solid var(--border);padding:18px 16px 14px}.sb-logo-title{color:var(--text);font-size:13px;font-weight:700}.sb-logo-sub{color:var(--text3);margin-top:2px;font-size:11px}.sb-nav{flex-direction:column;flex:1;gap:1px;padding:8px;display:flex}.nv{cursor:pointer;border-radius:var(--r);width:100%;color:var(--text2);text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:8px 10px;font-size:13px;transition:background .1s,color .1s;display:flex}.nv:hover,.nv.on{background:var(--surface2);color:var(--text)}.nv.on{font-weight:600}.nv-ico{color:currentColor;opacity:.75;flex-shrink:0;justify-content:center;width:15px;display:inline-flex}.nv-ico svg{width:15px;height:15px}.sb-foot{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding:10px;display:flex}.sb-save{color:var(--text3);align-items:center;gap:5px;font-size:11px;display:flex}.sb-save.muted{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sdot{background:var(--green);border-radius:50%;flex-shrink:0;width:6px;height:6px}.bkup{cursor:pointer;border:1px solid var(--border2);border-radius:var(--r);background:var(--surface);width:100%;color:var(--text2);justify-content:center;align-items:center;gap:5px;padding:6px 8px;font-size:11px;font-weight:500;transition:background .1s;display:flex}.bkup:hover,.bkup.imp{background:var(--surface2);color:var(--text)}.main{min-width:0;margin-left:var(--sw);flex-direction:column;flex:1;display:flex}.topbar{z-index:50;border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;height:50px;padding:0 24px;display:flex;position:sticky;top:0}.topbar-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;font-weight:600;overflow:hidden}.topbar-act{align-items:center;gap:7px;display:flex}.role-pill{max-width:min(360px, calc(100vw - var(--sw) - 72px));border:1px solid var(--border);background:var(--surface2);color:var(--text2);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:11px;overflow:hidden}.account-menu{flex-shrink:0;position:relative}.account-pill{cursor:pointer;max-width:min(360px, calc(100vw - var(--sw) - 72px));text-align:left;align-items:center;gap:6px;display:inline-flex}.account-pill span:first-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.account-chev{color:var(--text3);transition:transform .15s}.account-chev.open{transform:rotate(180deg)}.account-pop{z-index:300;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);width:min(280px,100vw - 28px);position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 8px 24px #00000024}.account-meta{border-bottom:1px solid var(--border);padding:10px 12px}.account-meta strong,.account-meta span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.account-meta strong{font-size:12px}.account-meta span{color:var(--text3);margin-top:2px;font-size:11px}.account-pop button{cursor:pointer;width:100%;color:var(--red);text-align:left;background:0 0;border:0;padding:10px 12px;font-size:13px;display:flex}.account-pop button:hover{background:var(--red-bg)}.wrap{flex:1;padding:24px}.btn{cursor:pointer;border:1px solid var(--border2);border-radius:var(--r);background:var(--surface);color:var(--text);white-space:nowrap;justify-content:center;align-items:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:500;transition:background .1s;display:inline-flex}.btn:hover{background:var(--surface2)}.btn-p{border-color:var(--text);background:var(--text);color:#fff}.btn-p:hover{background:var(--text);opacity:.85}.btn-d{color:var(--red);border-color:#f0b8b2}.btn-d:hover{background:var(--red-bg)}.btn-sm{padding:4px 9px;font-size:12px}.tab-btn{cursor:pointer;border:1px solid var(--border2);background:var(--surface);color:var(--text2);border-radius:20px;padding:5px 14px;font-size:13px;font-weight:500;transition:background .1s,color .1s}.tab-btn:hover{background:var(--surface2);color:var(--text)}.tab-btn.on{border-color:var(--text);background:var(--text);color:#fff}.stats{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.stat{border:1px solid var(--border);border-radius:var(--rl);background:var(--surface);padding:14px 18px}.stat-l{color:var(--text3);text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:600}.stat-v{font-size:26px;font-weight:700;line-height:1}.stat-v.warn{color:var(--amber)}.stat-v span{color:var(--text3);font-size:13px;font-weight:400}.fbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.fbar-tabs,.fbar-right,.factions,.rtabs,.settings-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.fbar-tabs{gap:5px}.fbar-right input,.fbar-right select,.frow input,.frow select,.frow textarea,.add-panel-row input,.add-panel-row select,.modal-form input,.modal-form select{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);color:var(--text);outline:none}.fbar-right input,.fbar-right select{padding:6px 11px;font-size:13px}.fbar-right input{min-width:200px}.fbar-right input:focus,.fbar-right select:focus,.frow input:focus,.frow select:focus,.frow textarea:focus,.add-panel-row input:focus,.add-panel-row select:focus,.modal-form input:focus,.modal-form select:focus{border-color:var(--blue)}.rc{border:1px solid var(--border);border-radius:var(--rl);background:var(--surface);align-items:stretch;margin-bottom:8px;transition:box-shadow .15s;display:flex;overflow:hidden}.rc:hover{box-shadow:0 2px 8px #00000012}.rc.wk{background:#fffbf5}.rc-bar{flex-shrink:0;width:4px}.rc-bar.confirmed{background:var(--green)}.rc-bar.unconfirmed{background:var(--border2)}.rc-inner{flex:1;align-items:center;gap:12px;min-width:0;padding:12px 16px;display:flex}.rc-date{flex-shrink:0;width:178px}.rc-date-main{color:var(--text);font-size:13px;font-weight:600}.rc-date-main.co{color:var(--red)}.rc-date-main.cs{color:var(--amber)}.w3a{background:var(--amber-bg);width:100%;color:var(--amber-t);white-space:normal;word-break:break-word;border:1px solid #d4a840;border-radius:6px;align-items:flex-start;gap:3px;margin-top:3px;padding:2px 6px;font-size:10px;font-weight:500;line-height:1.35;display:flex}.w3a.over{background:var(--red-bg);color:var(--red-t);border-color:#e29a92}.rc-info{flex:1;min-width:0}.rc-artist{font-size:14px;font-weight:600}.rc-track{color:var(--text3);margin-top:1px;font-size:12px}.type-chip{background:var(--surface3);color:var(--text2);vertical-align:middle;border-radius:4px;margin-right:6px;padding:1px 5px;font-size:10px;font-weight:700;display:inline-flex}.type-chip.big{margin-left:8px;font-size:11px}.badge{white-space:nowrap;border-radius:20px;align-items:center;gap:3px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.bd{background:var(--green-bg);color:var(--green-t)}.bov{background:var(--red-bg);color:var(--red-t)}.bs{background:var(--amber-bg);color:var(--amber-t)}.bp{background:var(--surface2);color:var(--text2)}.prog{align-items:center;gap:8px;min-width:140px;display:flex}.pbar{background:var(--surface3);border-radius:3px;flex:1;height:5px;overflow:hidden}.pfill{border-radius:3px;height:100%}.pcount{min-width:34px;color:var(--text2);text-align:right;white-space:nowrap;font-size:12px;font-weight:600}.cf-btn{cursor:pointer;border:1px solid var(--border2);white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:600;transition:background .1s;display:inline-flex}.cf-btn.on{background:var(--green-bg);color:var(--green-t);border-color:#9dd4b4}.cf-btn.off{background:var(--surface2);color:var(--text3)}.secdiv{border-bottom:1px solid var(--border);color:var(--text3);text-transform:uppercase;margin-bottom:10px;padding:14px 0 7px;font-size:11px;font-weight:600}.empty{color:var(--text3);text-align:center;padding:40px}.form-card{border:1px solid var(--border);border-radius:var(--rl);background:var(--surface);margin-bottom:16px;padding:18px}.form-title{color:var(--text2);margin-bottom:13px;font-size:13px;font-weight:600}.form-title span,.settings-actions span{color:var(--text3);font-size:12px;font-weight:400}.form-title.no-margin{margin:0}.frow{flex-wrap:wrap;gap:10px;margin-bottom:10px;display:flex}.frow.no-margin{margin-bottom:0}.frow>div{flex:1;min-width:110px}.short-field{flex:0 0 110px!important}.date-field{flex:0 0 155px!important}.frow label,.add-panel-row label,.modal-form label{color:var(--text3);text-transform:uppercase;margin-bottom:3px;font-size:11px;font-weight:600;display:block}.frow input,.frow select,.frow textarea,.modal-form input,.modal-form select{width:100%;padding:7px 10px;font-size:13px}.frow textarea{resize:vertical;height:150px;line-height:1.6}.schedule-textarea{resize:vertical;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);width:100%;min-height:150px;color:var(--text);outline:none;padding:7px 10px;font-size:13px;line-height:1.6}.schedule-textarea:focus{border-color:var(--blue)}.parse-out{border:1px solid var(--border);border-radius:var(--r);background:var(--surface2);color:var(--text2);margin-top:8px;padding:10px 12px;font-size:12px;line-height:1.9}.parse-name{font-weight:600}.det-head{flex-wrap:wrap;align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.det-info{flex:1;min-width:0}.det-title{font-size:18px;font-weight:700}.det-sub{color:var(--text3);margin-top:3px;font-size:12px}.det-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.url-group{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);margin-bottom:10px;overflow:hidden}.url-row{border-bottom:1px solid var(--border);align-items:center;gap:7px;padding:7px 11px;display:flex}.url-row:last-child{border-bottom:0}.url-lbl{min-width:82px;color:var(--text3);flex-shrink:0;font-size:11px;font-weight:600}.url-row input{min-width:0;color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:12px}.warn-banner{border-radius:var(--r);background:var(--amber-bg);color:var(--amber-t);border:1px solid #d4a840;align-items:center;gap:7px;margin-bottom:11px;padding:9px 13px;font-size:13px;display:flex}.detail-grid{grid-template-columns:minmax(0,1fr) minmax(280px,380px);align-items:start;gap:16px;display:grid}.legend{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);color:var(--text3);flex-wrap:wrap;gap:12px;margin-bottom:12px;padding:8px 12px;font-size:12px;display:flex}.li{align-items:center;gap:4px;display:flex}.ld{border-radius:2px;flex-shrink:0;width:8px;height:8px}.ld.red{border:1.5px solid var(--red);background:#fdeded}.ld.amber{border:1.5px solid var(--amber);background:#fff8e8}.ld.green{background:#e0f0e8;border:1.5px solid #8fcaaa}.ld.gray{background:#e8e8e8;border:1.5px solid #c0bdb8}.det-ctrl{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.det-hint{color:var(--text3);font-size:12px}.memo-side{position:sticky;top:66px}.memo-title{color:var(--text2);margin-bottom:8px;font-size:13px;font-weight:600}.memo-wrap{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);margin-bottom:12px;overflow:hidden}.memo-tb{border-bottom:1px solid var(--border);background:var(--surface2);flex-wrap:wrap;align-items:center;gap:2px;padding:5px 7px;display:flex}.memo-tb button{cursor:pointer;color:var(--text2);background:0 0;border:0;border-radius:4px;padding:3px 7px;font-size:12px}.memo-tb button:hover{background:var(--surface3)}.memo-tb .sep{background:var(--border);width:1px;height:14px;margin:0 2px}.memo-tb .spacer{flex:1}.memo-tb select{border:1px solid var(--border);background:var(--surface);border-radius:4px;padding:2px 5px;font-size:12px}.color-tool{color:var(--text2);cursor:pointer;align-items:center;gap:3px;font-size:12px;display:flex}.color-tool input{cursor:pointer;border:0;border-radius:2px;width:18px;height:16px;padding:0}.memo-clear-btn{color:var(--text3)!important;font-size:11px!important}.memo-body{cursor:text;outline:none;min-height:70px;padding:9px 11px;font-size:13px;line-height:1.7}.memo-body.readonly{cursor:default}.memo-body.large{min-height:calc(100vh - 260px);padding:18px 22px;font-size:14px}.memo-body ul,.memo-body ol{margin:4px 0;padding-left:1.4em}.memo-body li{margin:2px 0}.memo-body:empty:before{color:var(--text3);content:attr(data-ph);pointer-events:none}.memo-body h2{border-bottom:2px solid var(--border);margin:14px 0 6px;padding-bottom:4px;font-size:1.4em;font-weight:700}.memo-body h3{color:var(--text2);margin:12px 0 5px;font-size:1.15em;font-weight:700}.memo-body hr{border:0;border-top:1px solid var(--border);margin:14px 0}.memo-resize{cursor:ns-resize;border-top:1px solid var(--border);background:var(--surface2);justify-content:center;align-items:center;height:5px;display:flex}.memo-resize:after{color:var(--text3);content:". . .";letter-spacing:2px;font-size:9px}.memo-clear{cursor:pointer;color:var(--text3);background:0 0;border:0;font-size:11px}.saved-text{color:var(--text3);padding-right:4px;font-size:11px}.add-panel{border:1px solid var(--border);border-radius:var(--rl);background:var(--surface);margin-bottom:12px;padding:14px;display:none}.add-panel.open{display:block}.add-panel-title{color:var(--text2);margin-bottom:10px;font-size:12px;font-weight:600}.add-panel-row{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.add-panel-row .fd{flex:1;min-width:90px}.fd.small{flex:0 0 130px}.fd.medium{flex:0 0 160px}.add-panel-row input,.add-panel-row select{width:100%;color:var(--text);padding:6px 9px;font-size:12px}.check-label,.custom-color{cursor:pointer;align-items:center;gap:5px;color:var(--text2)!important;text-transform:none!important;font-size:13px!important;display:flex!important}.cat-block{border:1px solid var(--border);border-radius:var(--rl);margin-bottom:9px;overflow:hidden;box-shadow:0 1px 2px #0000000a}.cat-h{cursor:pointer;-webkit-user-select:none;user-select:none;background:#c8c6c0;align-items:center;gap:7px;padding:8px 12px;display:flex}.cat-h:hover{background:#bebcb6}.cat-title{color:#2a2a27;flex:1;font-size:12px;font-weight:700}.cat-prog{color:#5a5955;font-size:11px}.unset-count{color:var(--text2)}.cat-chev{flex-shrink:0;transition:transform .15s}.cat-chev.op{transform:rotate(180deg)}.mat-row{border-bottom:1px solid var(--border);background:#fff;align-items:center;gap:8px;padding:6px 12px;display:flex}.mat-row:last-child{border-bottom:0}.mat-row.m-done{background:#e3f0e8;border-left:3px solid #8fcaaa}.mat-row.m-unset{background:#ececec;border-left:3px solid #c0bdb8}.mat-row.m-w3{background:#fffbee}.mat-row.m-over{background:#fff3f2}.mat-row.dov{box-shadow:inset 0 2px 0 var(--blue)}.mat-row.dragging{opacity:.3}.grip{color:var(--text3);cursor:grab;flex-shrink:0;font-size:14px;line-height:1}.st-btn{cursor:pointer;border:0;border-radius:5px;flex-shrink:0;min-width:50px;padding:3px 7px;font-size:11px;font-weight:600;line-height:1.4}.st-done{color:#fff;background:#6daa85}.st-undone{background:var(--red-bg);color:var(--red-t);border:1px solid #f0c0ba}.st-unset{color:#666;background:#c8c5c0}.mat-name{flex:1;min-width:0;font-size:12px;line-height:1.4}.mat-name.done{color:var(--text3);text-decoration:line-through}.mat-name.unset{color:var(--text3)}.tag{vertical-align:middle;border-radius:3px;margin-left:4px;padding:1px 5px;font-size:10px;font-weight:600;display:inline-block}.tag-opt{color:#4c1d95;background:#ede9fe}.tag-w3{color:#92400e;background:#fef3c7}.tag-over{background:var(--red-bg);color:var(--red-t)}.mat-due,.mat-note{border:1px solid var(--border);color:var(--text);background:0 0;border-radius:5px;flex-shrink:0;font-size:12px}.mat-due{width:106px;padding:3px 7px}.mat-note{resize:none;width:140px;height:26px;padding:3px 7px;line-height:1.4;overflow:hidden}.mat-note:focus,.mat-due:focus{border-color:var(--blue);outline:none}.mw{flex-shrink:0;position:relative}.mb{cursor:pointer;width:24px;height:24px;color:var(--text3);background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;font-size:15px;display:flex}.mb:hover{background:var(--surface2)}.mb.danger{color:var(--red)}.mpop{z-index:200;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);min-width:120px;display:none;position:absolute;top:26px;right:0;overflow:hidden;box-shadow:0 4px 12px #0000001f}.mpop.open{display:block}.mpop button{cursor:pointer;width:100%;color:var(--text);text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:8px 12px;font-size:13px;display:flex}.mpop button:hover{background:var(--surface2)}.mpop button.danger{color:var(--red)}.mpop button.danger:hover{background:var(--red-bg)}.art-card{border:1px solid var(--border);border-radius:var(--rl);background:var(--surface);margin-bottom:8px;overflow:hidden}.art-h{cursor:pointer;align-items:center;gap:10px;padding:12px 16px;transition:background .1s;display:flex}.art-h:hover{background:var(--surface2)}.art-av{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:flex}.art-name{flex:1;font-size:14px;font-weight:600}.art-meta{color:var(--text3);margin-right:6px;font-size:12px}.art-body{border-top:1px solid var(--border);padding:10px 16px}.rel-row{border-radius:var(--r);cursor:pointer;align-items:center;gap:8px;margin-bottom:3px;padding:8px 10px;display:flex}.rel-row:hover{background:var(--surface2)}.rel-date{min-width:120px;color:var(--text3);flex-shrink:0;font-size:12px}.rel-track{flex:1;font-size:13px;font-weight:500}.col-pick{border:1px solid var(--border);border-radius:var(--r);background:var(--surface2);margin-bottom:8px;padding:10px}.swatches{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.sw{cursor:pointer;border:2px solid #0000;border-radius:50%;width:22px;height:22px}.sw:hover{transform:scale(1.1)}.sw.sel{border-color:var(--text)}.board-note{color:var(--text3);margin-bottom:12px;font-size:13px}.re{resize:vertical;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);width:100%;height:300px;color:var(--text);outline:none;padding:11px;font-family:SF Mono,Fira Code,monospace;font-size:13px;line-height:1.7}.re:focus{border-color:var(--blue)}.cal-wrap{border:1px solid var(--border);border-radius:var(--rl);background:var(--surface);overflow:hidden}.cal-nav{border-bottom:1px solid var(--border);background:var(--surface2);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.cal-month{font-size:15px;font-weight:600}.cal-grid-head,.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-grid-head{border-bottom:1px solid var(--border)}.cal-dname{color:var(--text3);text-align:center;padding:7px 0;font-size:11px;font-weight:600}.cal-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;height:112px;padding:6px;display:flex;overflow:hidden}.cal-cell:nth-child(7n){border-right:0}.cal-cell.other-month{background:var(--surface2);opacity:.6}.cal-cell.today{background:#f0f7ff}.cal-day-num{color:var(--text2);flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:3px;font-size:12px;font-weight:600;display:flex}.cal-day-num.today-num{color:var(--blue)}.cal-release-banner,.cal-event{cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;border:0;overflow:hidden}.cal-release-banner{border-radius:4px;flex-shrink:0;margin-bottom:3px;padding:2px 6px;font-size:11px;font-weight:700}.cal-event{background:0 0;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:10px;font-weight:500;line-height:1.5}.cal-event.ev-done,.strike{color:var(--text3);opacity:.6;text-decoration:line-through}.cal-events-scroll{flex-direction:column;flex:1;gap:1px;display:flex;overflow-y:auto}.ev-custom,.cal-leg-dot.custom{color:#4b4a45;background:#e3e2de}.cal-legend{border-top:1px solid var(--border);flex-wrap:wrap;gap:12px;padding:10px 14px;display:flex}.cal-leg-item{color:var(--text3);align-items:center;gap:5px;font-size:11px;display:flex}.cal-leg-dot{border-radius:2px;flex-shrink:0;width:8px;height:8px}.cal-leg-dot.blue{background:var(--blue);border-radius:50%}.cal-leg-dot.gray{background:var(--text2);border-radius:50%}.custom-events{margin-top:16px}.event-list{flex-direction:column;gap:6px;display:flex}.event-row{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);align-items:center;gap:8px;padding:8px 10px;display:flex}.event-date{min-width:124px;color:var(--text2);font-size:12px;font-weight:600}.event-title{flex:1;min-width:0}.artist-badge{border-radius:20px;padding:3px 8px;font-size:11px;font-weight:600}.member-list{flex-direction:column;gap:6px;display:flex}.member-row{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:12px 14px;display:grid}.member-info{min-width:0}.member-info strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.member-sub{color:var(--text3);margin-top:3px;font-size:11px}.member-tools{justify-content:flex-end;align-items:center;gap:8px;display:flex}.member-role{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);width:108px;color:var(--text);padding:5px 8px;font-size:13px}.member-disable{min-width:74px}.modal-bg{z-index:500;background:#00000059;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{border-radius:var(--rl);background:var(--surface);width:min(480px,100%);padding:22px;box-shadow:0 12px 40px #0000002e}.modal-title{margin-bottom:16px;font-size:16px;font-weight:700}.modal-form{flex-direction:column;gap:10px;display:flex}.modal-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.login-page{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--border);border-radius:var(--rl);background:var(--surface);width:min(360px,100%);padding:24px;box-shadow:0 4px 20px #0000000f}.login-panel .btn{width:100%;margin-top:18px}.login-error{color:var(--red);margin-top:12px;font-size:12px}@media (max-width:900px){:root{--sw:168px}.wrap{padding:16px}.stats{grid-template-columns:repeat(2,1fr)}.rc-inner{flex-wrap:wrap}.rc-date{width:150px}.detail-grid{grid-template-columns:1fr}.memo-side{position:static}}@media (max-width:680px){.app-shell{display:block}.sb{border-right:0;border-bottom:1px solid var(--border);width:100%;height:auto;position:sticky;top:0}.sb-logo{padding:12px 14px 8px}.sb-nav{flex-direction:row;padding:8px;overflow-x:auto}.nv{flex-shrink:0;width:auto}.sb-foot{grid-template-columns:1fr 1fr;display:grid}.sb-save{grid-column:1/-1}.main{margin-left:0}.topbar{padding:0 14px}.role-pill,.account-pill{max-width:calc(100vw - 28px)}.stats{grid-template-columns:1fr}.fbar-right,.fbar-right input,.fbar-right select,.btn,.bkup{width:100%}.rc-inner,.url-row,.mat-row,.event-row{flex-direction:column;align-items:stretch}.member-row{grid-template-columns:1fr;align-items:stretch}.member-tools{justify-content:space-between}.member-role,.member-disable{width:100%}.rc-date,.prog,.mat-due,.mat-note,.event-date,.url-lbl{width:100%;min-width:0}.cal-cell{height:96px;padding:4px}.cal-release-banner{font-size:10px}}
