/* finesse · register=product · A=existing-blue-slate · B=system-CJK · C=task-queue · D=status-feedback · E=quiet-panels · SOUL=4 SPECTACLE=1 DENSITY=7 */
:root{--page:#f0f3f8;--panel:#fcfdff;--inset:#f5f7fb;--ink:#172536;--text:#354761;--muted:#586a82;--line:rgba(39,65,99,.14);--accent:#244fc2;--soft:#eaf0ff;--on:#fcfdff;--nav:#1c2c42;--navtext:#c2cde0;--good:#176342;--warn:#885415;--bad:#ad303b;--shadow:0 2px 8px rgba(26,50,80,.05);--radius:16px;--font:'PingFang SC',-apple-system,'Microsoft YaHei',Arial,sans-serif}
*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}body{font-family:var(--font);background:var(--page);color:var(--ink);font-size:14px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{min-height:44px;padding:9px 16px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);cursor:pointer;font-weight:600;white-space:nowrap}button:hover{background:var(--inset);border-color:var(--accent)}button:active{transform:translateY(1px)}button:disabled{opacity:.55;cursor:wait}button.primary{background:var(--accent);color:var(--on);border-color:var(--accent)}button.quiet{background:transparent}button.danger{color:var(--bad)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:27px;letter-spacing:-.6px;line-height:1.35;overflow-wrap:anywhere}h2{font-size:18px;line-height:1.4}h3{font-size:15px}small,.muted{color:var(--muted)}small{font-size:12px}p{overflow-wrap:anywhere}.skip{position:fixed;left:12px;top:-80px;z-index:20;padding:10px;background:var(--panel)}.skip:focus{top:8px}.shell{display:grid;grid-template-columns:218px minmax(0,1fr);min-height:100dvh}.sidebar{background:var(--nav);color:var(--on);padding:28px 18px;display:flex;flex-direction:column;gap:28px}.brand{font-size:28px;letter-spacing:5px;font-weight:700;padding:0 12px}.brand small{display:block;color:var(--navtext);font-size:11px;letter-spacing:1px;margin-top:4px}.navigation{display:flex;flex-direction:column;gap:7px}.navigation button{text-align:left;background:transparent;color:var(--navtext);border-color:transparent}.navigation button.active{background:var(--panel);color:var(--accent)}.sidebar-footer{margin-top:auto;color:var(--navtext);font-size:12px;padding:12px}.sidebar-footer a{color:var(--on);display:block;margin-top:12px}.workspace{min-width:0;padding:26px 34px 56px;max-width:1600px;width:100%;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px}.topbar .identity{font-size:13px}.topbar .sync{color:var(--good);font-size:12px}.topbar .sync.offline{color:var(--warn)}.inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:0 0 22px}.heading p{color:var(--muted);margin-top:5px}.label{font-size:12px;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:24px}.stat{padding:18px 22px}.stat+.stat{border-left:1px solid var(--line)}.stat strong{font-size:30px;line-height:1.2;display:block;font-variant-numeric:tabular-nums;margin-bottom:5px}.stat.review strong{color:var(--accent)}.columns{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px;align-items:start}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);overflow:hidden}.panel-head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;align-items:center}.panel-body{padding:20px}.panel+.panel{margin-top:20px}.rows{padding:0 20px}.row{padding:19px 0;display:flex;gap:16px;align-items:flex-start;border-bottom:1px solid var(--line);min-width:0}.row:last-child{border-bottom:0}.row-main{flex:1;min-width:0}.row-title{font-size:15px;font-weight:650;margin-bottom:6px;overflow-wrap:anywhere}.row p{font-size:13px;margin:5px 0;color:var(--muted)}.row-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted)}.tag{display:inline-flex;border-radius:6px;padding:2px 8px;background:var(--inset);color:var(--text);font-size:12px;white-space:nowrap}.tag.review,.tag.ready{color:var(--accent);background:var(--soft)}.tag.done,.tag.published{color:var(--good)}.tag.changes{color:var(--bad)}.tag.overdue{color:var(--bad)}.filters{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.filters button{font-size:13px;padding:7px 14px}.filters .selected{color:var(--accent);background:var(--soft);border-color:var(--accent)}.empty{padding:40px 24px;text-align:center;color:var(--muted)}.empty strong{display:block;font-size:17px;color:var(--ink);margin-bottom:7px}.empty button{margin-top:16px}.callout{border-radius:10px;background:var(--inset);padding:13px 16px;color:var(--muted);font-size:13px;margin:14px 0}.callout.warn{color:var(--warn)}.stack{display:flex;flex-direction:column;gap:14px}.person-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:14px 0;border-bottom:1px solid var(--line)}.person-summary:last-child{border:0}.person-summary small{grid-column:1/-1}.number{font-variant-numeric:tabular-nums}.progress{height:4px;border:0;background:var(--inset);width:100%;margin-top:12px;accent-color:var(--accent)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.auth{max-width:440px;margin:10vh auto 40px;padding:30px;background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.auth h1{margin:8px 0 10px}.auth p{color:var(--muted);margin-bottom:24px}.auth .brand{color:var(--accent);padding:0}.auth form{display:grid;gap:18px}.auth button{width:100%}label.field{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;min-width:0}input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);min-height:44px}input:focus,textarea:focus,select:focus{border-color:var(--accent)}textarea{min-height:108px;resize:vertical;line-height:1.6}input[type=checkbox]{width:20px;min-height:20px;height:20px;accent-color:var(--accent);flex-shrink:0}.check{display:flex;align-items:flex-start;gap:10px;font-size:13px;font-weight:500}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.full{grid-column:1/-1}.form-error{color:var(--bad);font-size:13px;white-space:pre-wrap}.loading{padding:60px;text-align:center;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--ink);padding:0;width:min(720px,calc(100vw - 32px));max-height:90dvh;box-shadow:0 30px 90px rgba(26,50,80,.25)}dialog::backdrop{background:rgba(16,31,50,.4)}.dialog-head{padding:20px 24px;display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid var(--line)}.dialog-body{padding:22px 24px}.dialog-body form{display:grid;gap:18px}.actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line)}.detail-grid{display:grid;grid-template-columns:100px minmax(0,1fr);gap:9px 16px;margin-bottom:20px}.detail-grid dt{color:var(--muted)}.detail-grid dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.form-block{padding-top:20px;margin-top:20px;border-top:1px solid var(--line)}.form-block h3{margin-bottom:14px}.choice-actions{display:flex;gap:10px;flex-wrap:wrap}.inline-form{margin-top:18px}.inline-form h3{margin-bottom:12px}.notice{background:var(--nav);color:var(--on);border-radius:12px;padding:12px 20px;box-shadow:var(--shadow);max-width:min(540px,calc(100vw - 32px));overflow-wrap:anywhere}#notice{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:50;pointer-events:none}.audit-row{font-size:12px;padding:10px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}details>summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--text);font-weight:600}.preview-text{white-space:pre-wrap;max-height:200px;overflow:auto;font-size:13px;color:var(--muted);padding:14px;background:var(--inset);border-radius:10px}.stock-line{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;gap:16px;align-items:center;justify-content:space-between}.stock-line:last-child{border:0}.stock-line strong{font-size:24px;color:var(--accent)}.badge-dot{width:7px;height:7px;background:var(--accent);border-radius:50%;display:inline-block;margin-right:6px}.page-note{font-size:12px;color:var(--muted);margin-top:26px}.text-link{padding:0;border:0;background:transparent;color:var(--accent);min-height:44px;font-weight:500}.section-space{margin-top:22px}
@media(max-width:1100px){.columns{grid-template-columns:minmax(0,1fr)}.columns aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.columns aside .panel+.panel{margin-top:0}.workspace{padding:22px}.shell{grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:760px){.shell{display:block}.sidebar{padding:14px 16px;gap:14px}.brand{font-size:23px;padding:0}.brand small{display:inline;margin-left:12px;font-size:11px;letter-spacing:0}.navigation{flex-direction:row;gap:4px;overflow-x:auto;padding-bottom:2px}.navigation button{text-align:center;padding:8px 12px;flex-shrink:0;font-size:13px}.sidebar-footer{display:none}.workspace{padding:18px 16px calc(38px + env(safe-area-inset-bottom))}.topbar{margin-bottom:20px;gap:8px}.topbar .identity{font-size:12px}.topbar button{padding:7px 11px}.heading{align-items:flex-start;gap:12px}h1{font-size:23px}.heading .primary{padding:8px 12px;font-size:13px}.heading p{font-size:12px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:15px 17px}.stat:nth-child(3){border-left:0;border-top:1px solid var(--line)}.stat:nth-child(4){border-top:1px solid var(--line)}.stat strong{font-size:26px}.columns aside{display:block}.columns aside .panel+.panel{margin-top:20px}.grid-2,.form-grid{grid-template-columns:minmax(0,1fr)}.row{gap:9px}.rows{padding:0 15px}.row>button{padding:8px 12px}.row-title{font-size:14px}.form-grid .full{grid-column:auto}.dialog-head{padding:16px 18px}.dialog-body{padding:18px}.detail-grid{grid-template-columns:75px minmax(0,1fr);gap:9px}.auth{margin:32px 16px;padding:24px;max-width:none}.stock-line{align-items:flex-start;flex-wrap:wrap}.panel-head{padding:16px}.panel-body{padding:16px}dialog{max-height:92dvh}.actions button{flex:1}.page-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.work-row{padding:16px 0;border-bottom:1px solid var(--border,#ddd);margin-bottom:12px}.work-fields{display:grid;grid-template-columns:1fr 2fr 1fr 1.3fr;gap:12px}.work-row>button{margin-top:8px;font-size:13px}.work-row:only-child>button{display:none}@media(max-width:640px){.work-fields{grid-template-columns:1fr 1fr}.work-fields .field{min-width:0}.work-fields input,.work-fields select{width:100%;min-width:0}}

.inventory-note{color:var(--muted);margin:0 0 18px;max-width:75ch}.inventory-scroll{overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:12px}.inventory-table{width:100%;border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums;font-size:13px;min-width:1000px}.inventory-table thead{background:var(--inset)}.inventory-table th,.inventory-table td{padding:16px 14px;border-bottom:1px solid var(--line);vertical-align:top}.inventory-table tbody tr:last-child>*{border-bottom:0}.inventory-table th[scope=row]{font-size:15px;min-width:120px}.inventory-table small{display:block;font-size:12px;font-weight:400;margin-top:5px;max-width:22ch;overflow-wrap:anywhere}.inventory-table strong{font-weight:650}.inventory-warning{color:var(--bad)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:760px){.inventory-scroll{overflow:visible;border:0;background:transparent}.inventory-table{min-width:0;display:block}.inventory-table thead{display:none}.inventory-table tbody{display:block}.inventory-table tr{display:block;background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:14px;overflow:hidden}.inventory-table th[scope=row]{display:block;background:var(--inset);padding:14px 16px}.inventory-table td{display:grid;grid-template-columns:112px minmax(0,1fr);gap:4px 10px;padding:10px 16px;border:0;font-size:14px}.inventory-table td:before{content:attr(data-label);color:var(--muted);grid-column:1;grid-row:1 / span 3}.inventory-table td small{grid-column:2;max-width:none;margin:0}.inventory-table tbody tr:last-child>*{border-bottom:0}.inventory-table td.inventory-actions{display:block;padding:12px 16px}.inventory-actions button{width:100%}.inventory-note{font-size:12px}}
/* Compact operational tables: close within groups, a clear pause between groups. */
.compact-inventory th,.compact-inventory td{padding:9px 10px}.compact-inventory th[scope=row]{min-width:100px;font-size:14px}.compact-inventory small{margin-top:2px;max-width:20ch;font-size:11px}.compact-inventory .inventory-group th{background:var(--inset);padding:8px 10px;font-size:14px}.compact-inventory tbody+tbody .inventory-group th{border-top:12px solid var(--page)}.compact-inventory .inventory-actions button{display:block;padding:5px 9px;font-size:12px;white-space:nowrap;margin-bottom:4px;min-height:32px}.month-total{font-size:15px;margin-bottom:8px}.month-total b{color:var(--accent)}.entry-input{border-bottom:1px solid var(--line);padding:16px 0;margin-bottom:12px}.entry-input>button{margin-top:8px}.work-summary{width:100%;border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums}.work-summary th,.work-summary td{padding:12px 14px;border-bottom:1px solid var(--line)}.work-summary thead{background:var(--inset)}.stats-controls{margin-bottom:16px;max-width:640px}
@media(max-width:760px){.compact-inventory tr{margin-bottom:8px}.compact-inventory .inventory-group{border:0;background:transparent;margin:12px 0 6px}.compact-inventory .inventory-group th{display:block;background:transparent;padding:6px 0;border:0}.compact-inventory tbody+tbody .inventory-group th{border-top:0}.compact-inventory th[scope=row]{padding:9px 12px}.compact-inventory td{padding:6px 12px;grid-template-columns:100px minmax(0,1fr)}.compact-inventory .inventory-actions{display:flex;gap:8px;padding:8px 12px}.compact-inventory .inventory-actions button{min-height:40px}.work-summary{font-size:12px}.work-summary th,.work-summary td{padding:8px 5px}.entry-input .form-grid{gap:10px}.month-total{font-size:14px}.heading{flex-wrap:wrap}}

.shoot-day{margin-top:24px}.shoot-day h2{font-size:18px;margin:0 0 8px}.shoot-row{display:grid;grid-template-columns:165px 1fr auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line,#dce3eb)}.shoot-row h3{font-size:17px;margin:0}.shoot-row p{margin:4px 0;font-size:14px}.shoot-row strong{font-variant-numeric:tabular-nums}@media(max-width:640px){.shoot-row{grid-template-columns:1fr auto;gap:8px}.shoot-row>div:nth-child(2){grid-row:2;grid-column:1/-1}.shoot-row>div:last-child{grid-column:2;grid-row:1}}
