:root{color:#24272f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7f8fa;font-family:Inter,Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif;font-size:14px;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font-family:inherit}button{letter-spacing:0}a{color:inherit}.app-shell{--text:#24272f;--muted:#727988;--soft:#f4f6f8;--paper:#fff;--line:#dde3ea;--brand:#111827;--accent:#e7694f;--green:#2f8f6b;--blue:#3d79d8;--yellow:#d89b28;min-height:100vh;color:var(--text);background:#f7f8fa;grid-template-columns:248px minmax(0,1fr);display:grid}.app-shell.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.login-shell{color:#263238;background:linear-gradient(135deg,#e8dcd247,#0000 42%),linear-gradient(315deg,#d2e0d847,#0000 38%),#f7f8f6;place-items:center;min-height:100vh;padding:32px;display:grid}.login-panel{aspect-ratio:1;background:#fff;border:1px solid #d7e0e6;border-radius:8px;flex-direction:column;justify-content:center;width:min(400px,100%);padding:36px;display:flex;box-shadow:0 30px 64px #2b3a4824}.login-brand{margin-bottom:18px}.login-brand span{color:#c26f61;margin-bottom:2px;font-size:13px;font-weight:700;line-height:1.25;display:block}.login-brand h1{color:#263238;margin:0;font-size:28px;font-weight:900;line-height:1.12}.login-form{gap:15px;display:grid}.login-panel .field{gap:7px}.login-panel .field span{color:#667783;font-size:14px;font-weight:800}.login-panel .field input{background:#fff;border:2px solid #d5dee5;border-radius:9px;height:42px;padding:0 13px;font-size:15px}.login-panel .field input:focus{border-color:#aab8c2;box-shadow:0 0 0 4px #26323814}.login-form .primary-button{color:#fff;background:#263238;border-color:#263238;border-radius:9px;width:100%;min-height:44px;margin-top:2px;font-size:17px;font-weight:900}.login-error{color:#9a3412;background:#ffe1d6;border-radius:8px;padding:11px 13px;font-weight:700}.sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;align-content:start;gap:0;height:100vh;padding:24px 18px;display:grid;position:sticky;top:0}.sidebar-toggle{justify-self:end;margin-bottom:16px}.sidebar-collapsed .sidebar{padding:18px 12px}.sidebar-collapsed .sidebar-toggle{justify-self:center}.brand-mark{align-items:center;gap:12px;margin-bottom:28px;display:flex}.sidebar-collapsed .brand-mark{justify-content:center;margin-bottom:22px}.sidebar-collapsed .brand-mark>div:not(.brand-symbol),.sidebar-collapsed .user-card,.sidebar-collapsed .side-card,.sidebar-collapsed .nav-button span{display:none}.brand-symbol{color:#fff;background:var(--brand);border-radius:8px;place-items:center;width:42px;height:42px;font-size:21px;font-weight:800;display:grid}.brand-mark span,.eyebrow,.field span,.info-item span,.text-block span{color:var(--muted);font-size:12px;display:block}.brand-mark strong{color:var(--brand);font-size:15px;display:block}.nav-list{gap:6px;display:grid}.nav-button{width:100%;min-height:42px;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:0 12px;font-size:14px;display:flex}.sidebar-collapsed .nav-button{justify-content:center;padding:0}.nav-button svg{width:18px;height:18px}.nav-button:hover,.nav-button.active{color:var(--brand);background:#eef2f6}.side-card{border:1px solid var(--line);background:#fff;border-radius:8px;margin-top:28px;padding:16px}.user-card{border:1px solid var(--line);background:#fff;border-radius:8px;margin-bottom:18px;padding:14px}.user-card span{color:var(--accent);font-size:12px;font-weight:800;display:block}.user-card strong{color:var(--brand);margin-top:3px;font-size:16px;display:block}.user-card p{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.6}.side-card strong{margin-top:4px;font-size:20px;display:block}.side-card p{color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.6}.workspace{min-width:0;padding:28px}.topbar,.filter-row,.content-layout,.top-actions,.detail-actions,.danger-actions,.card-actions{display:flex}.topbar{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.topbar h1{color:var(--brand);margin:4px 0 0;font-size:28px;line-height:1.2}.top-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.ghost-button,.primary-button,.icon-button{font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.ghost-button,.primary-button{gap:8px;min-height:40px;padding:0 14px;font-size:14px}.ghost-button{border:1px solid var(--line);color:var(--brand);background:#fff}.ghost-button:hover{border-color:#b8c2cf}.ghost-button.compact{min-height:34px;padding:0 10px;font-size:13px}.primary-button.compact{min-height:32px;padding:0 10px;font-size:13px}.ghost-button.danger{color:#b33434}.primary-button{border:1px solid var(--brand);color:#fff;background:var(--brand)}.primary-button:hover{filter:brightness(1.08)}.icon-button{border:1px solid var(--line);width:34px;height:34px;color:var(--brand);background:#fff}.file-button{position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.filter-row{align-items:center;gap:10px;margin-bottom:18px}.search-box,.select-box{border:1px solid var(--line);min-height:42px;color:var(--muted);background:#fff;border-radius:8px;align-items:center;gap:10px;display:flex}.search-box{flex:1;min-width:220px;padding:0 12px}.select-box{width:190px;padding:0 10px}.search-box input,.select-box select,.field input,.field select,.field textarea,.card-actions select,.status-select{width:100%;color:var(--text);font:inherit;background:0 0;border:0;outline:none}.content-layout{align-items:flex-start;gap:18px}.main-content{flex:1;min-width:0}.page-stack{gap:18px;display:grid}.workboard{gap:14px;display:grid}.workboard-header{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;padding:18px;display:flex;box-shadow:0 8px 28px #1622330f}.workboard-header h2{color:var(--brand);margin:4px 0 6px;font-size:24px;line-height:1.2}.workboard-header p{color:var(--muted);margin:0;line-height:1.6}.work-summary{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:auto auto auto auto auto auto auto auto;align-items:center;gap:8px;width:fit-content;padding:8px 10px;display:inline-grid}.work-summary strong{color:var(--brand);font-size:20px}.work-summary span{color:var(--muted);font-size:13px;font-weight:700}.work-lanes{grid-template-columns:repeat(4,minmax(190px,1fr));gap:12px;display:grid}.work-lanes.lane-count-1{grid-template-columns:minmax(280px,520px)}.work-lane{border:1px solid var(--line);background:#eef2f6;border-radius:8px;min-height:560px;overflow:hidden}.work-lane-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px;display:flex}.work-lane-header span{color:var(--accent);font-size:12px;font-weight:900;display:block}.work-lane-header h3{color:var(--brand);margin:3px 0 5px;font-size:22px}.work-lane-header p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.work-lane-header strong{min-width:34px;height:34px;color:var(--brand);background:#eef2f6;border-radius:8px;place-items:center;display:grid}.work-card-stack{gap:8px;padding:10px;display:grid}.work-card{border:1px solid var(--line);cursor:grab;background:#fff;border-radius:8px;box-shadow:0 8px 20px #1622330d}.work-card:active{cursor:grabbing}.work-card-main{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:10px;padding:10px 11px;display:grid}.work-rank{color:#fff;background:var(--brand);border-radius:8px;place-items:center;width:28px;height:28px;font-size:13px;font-weight:900;display:grid}.work-card-body{min-width:0}.work-card-meta{align-items:center;gap:7px;margin-top:6px;display:flex}.work-card-main strong{min-width:0;color:var(--brand);font-size:15px;line-height:1.35;display:block}.work-card-pillar{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.work-card-meta .status-pill{flex:none;min-height:20px;padding:0 7px;font-size:12px;font-weight:700;line-height:1.4}.planning-page{gap:14px;display:grid}.planning-hero{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;padding:18px;display:flex;box-shadow:0 8px 28px #1622330f}.planning-hero h2{color:var(--brand);margin:4px 0 6px;font-size:24px;line-height:1.2}.planning-hero p{color:var(--muted);margin:0;line-height:1.6}.planning-grid{grid-template-columns:minmax(280px,1fr) minmax(320px,1.1fr) minmax(260px,.75fr);align-items:start;gap:12px;display:grid}.planning-column,.planning-sidebar>section{border:1px solid var(--line);background:#fff;border-radius:8px;box-shadow:0 8px 20px #1622330a}.planning-column{overflow:hidden}.planning-column-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px;display:flex}.planning-column-header span,.planning-focus-card span,.planning-checklist span{color:var(--accent);font-size:12px;font-weight:900;display:block}.planning-column-header h3,.planning-checklist h3{color:var(--brand);margin:3px 0 5px;font-size:22px}.planning-column-header p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.planning-column-header strong{min-width:34px;height:34px;color:var(--brand);background:#eef2f6;border-radius:8px;place-items:center;display:grid}.planning-card-list{background:#eef2f6;gap:10px;padding:10px;display:grid}.planning-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:10px;padding:12px;display:grid}.planning-card>button{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:7px;display:grid}.planning-card strong{color:var(--brand);font-size:16px;line-height:1.35}.planning-card small{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.planning-card .status-pill{width:fit-content;min-height:22px;padding:0 8px;font-size:12px}.planning-card-actions,.shoot-plan-controls{grid-template-columns:1fr 1fr;gap:8px;display:grid}.shoot-plan-controls label{gap:5px;display:grid}.shoot-plan-controls span{color:var(--muted);font-size:12px;font-weight:800}.shoot-plan-controls input,.shoot-plan-controls select{border:1px solid var(--line);min-width:0;height:34px;color:var(--text);font:inherit;background:#fff;border-radius:8px;outline:none;padding:0 9px}.planning-sidebar{gap:12px;display:grid}.planning-focus-card,.planning-checklist{padding:16px}.planning-focus-card strong{color:var(--brand);margin-top:8px;font-size:22px;line-height:1.25;display:block}.planning-focus-card p{color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.6}.planning-checklist ul{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.planning-checklist li{color:var(--muted);padding-left:18px;font-size:13px;line-height:1.5;position:relative}.planning-checklist li:before{color:var(--accent);content:"•";font-weight:900;position:absolute;left:0}.hero-band,.panel,.table-panel,.calendar-month,.detail-panel,.stat-card,.modal-panel{border:1px solid var(--line);background:var(--paper);border-radius:8px;box-shadow:0 8px 28px #1622330f}.hero-band{justify-content:space-between;align-items:center;gap:18px;padding:24px;display:flex}.hero-band h2{max-width:780px;color:var(--brand);margin:4px 0 8px;font-size:24px;line-height:1.25}.hero-band p{max-width:760px;color:var(--muted);margin:0;line-height:1.7}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.stat-card{min-height:124px;padding:18px}.stat-card svg{color:var(--accent)}.stat-card span{color:var(--muted);margin-top:12px;font-size:13px;display:block}.stat-card strong{margin-top:2px;font-size:32px;line-height:1;display:block}.two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.panel-header{border-bottom:1px solid var(--line);padding:16px 18px}.panel-header>div{align-items:center;gap:10px;display:flex}.panel-header svg{color:var(--accent)}.panel-header h3,.calendar-month h3,.detail-block h3{margin:0;font-size:16px}.panel-body{gap:8px;padding:12px;display:grid}.mini-item,.timeline-item{width:100%;color:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;display:flex}.mini-item{padding:12px}.mini-item:hover,.timeline-item:hover{border-color:var(--line);background:var(--soft)}.mini-item strong,.timeline-item strong{font-size:14px;display:block}.mini-item span,.timeline-item small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.empty-state{color:var(--muted);margin:0;padding:16px;line-height:1.6}.board-wrap{grid-auto-columns:minmax(280px,1fr);grid-auto-flow:column;gap:12px;padding-bottom:10px;display:grid;overflow-x:auto}.board-column{border:1px solid var(--line);background:#eef2f6;border-radius:8px;min-height:600px}.board-header{justify-content:space-between;align-items:flex-start;gap:8px;padding:12px;display:flex}.board-header strong,.board-header span{display:block}.phase-chip{color:var(--accent);background:#e7694f1a;border-radius:999px;margin-bottom:7px;padding:2px 7px;font-size:11px;font-style:normal;font-weight:800;display:inline-flex}.board-header span{color:var(--muted);margin-top:3px;font-size:12px}.card-stack{gap:10px;padding:0 10px 10px;display:grid}.content-card{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden}.card-main{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:14px}.card-meta,.card-footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.card-meta span,.card-footer{color:var(--muted);font-size:12px}.content-card h3{margin:8px 0 0;font-size:15px;line-height:1.4}.content-card p{color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.6}.priority{text-align:center;border-radius:999px;min-width:24px;padding:2px 7px;font-size:12px}.priority-高{color:#9a3412;background:#ffe1d6}.priority-中{color:#835c10;background:#fff1c9}.priority-低{color:#2f6b55;background:#dff3e8}.card-footer,.card-actions{border-top:1px solid var(--line);padding:10px 12px}.card-actions{gap:8px}.card-actions select{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:34px;padding:0 8px}.table-panel{overflow:hidden}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:1080px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:12px}th{color:var(--muted);background:#f3f5f7;font-size:12px;font-weight:700}td{font-size:14px}.table-title{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:3px;display:grid}.table-title span{color:var(--muted);font-size:12px}.status-select,.status-pill{border-radius:999px;min-height:32px;padding:0 10px;font-weight:700}.status-pill{align-items:center;font-size:13px;display:inline-flex}.status-idea{color:#5b6472;background:#ecf0f4}.status-planning,.status-review{color:#1f5aa5;background:#e5f0ff}.status-shoot,.status-filmed{color:#8a4d0f;background:#fff0cf}.status-editing,.status-revisions{color:#9a3412;background:#ffe1d6}.status-ready{color:#7d4f09;background:#fff6d8}.status-published{color:#17684c;background:#daf3e5}.calendar-stack{gap:16px;display:grid}.calendar-month header{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:16px 18px;display:flex}.calendar-month header svg{color:var(--accent)}.timeline{gap:8px;padding:14px;display:grid}.timeline-item{justify-content:flex-start;padding:12px}.timeline-item>span{color:#fff;background:var(--brand);border-radius:8px;place-items:center;width:64px;height:42px;font-weight:700;display:grid}.detail-panel{width:360px;max-height:calc(100vh - 48px);padding:18px;position:sticky;top:24px;overflow:auto}.detail-backdrop{place-items:center}.detail-backdrop .detail-panel{width:min(560px,100%);max-height:min(820px,100vh - 48px);position:relative;top:auto;box-shadow:0 24px 80px #0f172a3d}.detail-close{position:absolute;top:14px;right:14px}.detail-backdrop .detail-top{padding-right:44px}.detail-top h2{margin:10px 0 8px;font-size:22px;line-height:1.25}.detail-top p{color:var(--muted);margin:0;line-height:1.6}.detail-actions{gap:8px;margin:16px 0}.detail-actions .primary-button,.detail-actions .ghost-button{flex:1}.detail-grid,.metric-row{gap:10px;display:grid}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:14px 0}.metric-row{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}.info-item{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;padding:12px}.info-item strong{overflow-wrap:anywhere;margin-top:4px;font-size:14px;display:block}.detail-block{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.detail-block h3{align-items:center;gap:8px;margin-bottom:10px;display:flex}.detail-block h3 svg{color:var(--accent)}.text-block{margin-top:10px}.text-block p{color:var(--text);white-space:pre-wrap;margin:5px 0 0;line-height:1.7}.link-row{border:1px solid var(--line);min-height:40px;color:var(--brand);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;margin-top:8px;padding:0 12px;text-decoration:none;display:flex}.danger-actions{gap:8px;margin-top:16px}.modal-backdrop{z-index:10;background:#0f172a73;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-panel{width:min(940px,100%);max-height:min(860px,100vh - 48px);overflow:auto}.modal-header,.modal-footer{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.modal-header h2{margin:3px 0 0}.modal-footer{border-top:1px solid var(--line);border-bottom:0;justify-content:flex-end}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:20px;display:grid}.field{gap:6px;display:grid}.field.wide{grid-column:1/-1}.ai-title-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.ai-button{border:1px solid var(--brand);color:#fff;background:var(--brand);min-height:42px;font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:800;display:inline-flex}.ai-button:disabled{border-color:var(--line);color:var(--muted);cursor:not-allowed;background:#eef2f6}.ai-hint{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.ai-suggestion-box{background:#e7694f0f;border:1px solid #e7694f3d;border-radius:8px;grid-column:1/-1;padding:14px}.ai-suggestion-box>div:first-child{color:var(--accent);align-items:center;gap:8px;display:flex}.ai-suggestion-list{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.ai-suggestion-list button{min-height:34px;color:var(--brand);font:inherit;cursor:pointer;background:#fff;border:1px solid #e7694f4d;border-radius:999px;padding:0 11px;font-size:13px}.ai-suggestion-list button:hover{border-color:var(--accent)}.field input,.field select,.field textarea{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:42px;padding:9px 11px}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.search-box:focus-within,.select-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #e7694f24}@media (width<=1180px){.content-layout{display:grid}.planning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-sidebar{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.detail-panel{width:100%;max-height:none;position:static}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=820px){.login-shell{padding:18px}.login-panel{width:min(400px,100%);min-height:min(400px,100vw - 36px);padding:28px 24px}.login-brand{margin-bottom:17px}.login-brand span{font-size:12px}.login-brand h1{font-size:25px}.login-panel .field span{font-size:14px}.login-panel .field input,.login-form .primary-button{border-radius:9px;height:42px;min-height:42px;font-size:15px}.login-form .primary-button{font-size:16px}.app-shell{display:block}.sidebar{height:auto;padding:16px;position:static}.nav-list{grid-template-columns:repeat(4,minmax(0,1fr))}.nav-button{justify-content:center;padding:0 8px;font-size:12px}.nav-button svg,.side-card{display:none}.workspace{padding:16px}.topbar,.filter-row,.hero-band,.workboard-header,.planning-hero{display:grid}.top-actions,.filter-row{justify-content:stretch}.search-box,.select-box{width:100%}.stat-grid,.two-column,.work-lanes,.planning-grid,.planning-sidebar,.form-grid,.detail-grid,.metric-row{grid-template-columns:1fr}.work-summary{grid-template-columns:auto auto}.work-lane{min-height:auto}.ai-title-row{grid-template-columns:1fr}.board-wrap{grid-auto-columns:minmax(260px,86vw)}.modal-backdrop{padding:10px}}
