:root{color:#163038;background:#f2f5f4;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f2f5f4}.app-layout{min-height:100vh}.app-sider{position:sticky!important;top:0;height:100vh}.brand{height:72px;display:flex;align-items:center;gap:12px;padding:0 20px;color:#fff;font-size:17px;font-weight:700;letter-spacing:.08em}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border:1px solid #75bac0;color:#a9e0df;transform:rotate(45deg);font-family:Georgia,serif}.brand-mark:first-letter{transform:rotate(-45deg)}.app-header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid #e5eceb;position:sticky;top:0;z-index:10}.app-content{padding:28px;overflow:hidden}.page-spinner{min-height:100vh;display:grid;place-items:center}.page-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.page-title h2,.page-hero h1{margin:0 0 4px!important;color:#173c45!important}.eyebrow{color:#1f6f78;font-weight:700;letter-spacing:.17em;font-size:11px;margin-bottom:8px}.page-hero{padding:30px;margin-bottom:24px;color:#fff;background:linear-gradient(115deg,#173c45,#245d65 65%,#ba6f3f);border-radius:16px;display:flex;justify-content:space-between;align-items:end}.page-hero h1,.page-hero p,.page-hero .ant-statistic-title,.page-hero .ant-statistic-content{color:#fff!important}.page-hero .eyebrow{color:#9bd2d2}.action-card{min-height:245px;border:0;overflow:hidden}.action-card.accent{background:#1f6f78}.action-card.accent *{color:#fff!important}.action-icon,.stat-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;color:#1f6f78;background:#e2f1f0;font-size:22px}.quick-card{min-height:150px}.workshop-action-card{min-height:250px;text-align:center;border:0;box-shadow:0 8px 26px #143b4414}.workshop-action-icon{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 16px;border-radius:20px;color:#1f6f78;background:#e2f1f0;font-size:34px}.stat-card{border:0}.stat-card .ant-card-body{padding:18px}.stat-card .stat-icon{float:right;width:38px;height:38px;font-size:17px}.table-toolbar{margin-bottom:18px}.auth-page{min-height:100vh;padding:50px max(6vw,24px);display:grid;grid-template-columns:1.1fr minmax(340px,480px);gap:7vw;align-items:center;background:radial-gradient(circle at 15% 15%,#316a70 0,#173c45 38%,#0d282f)}.auth-copy{color:#fff;max-width:650px}.auth-copy .eyebrow{color:#8bc8ca}.auth-copy h1{font-family:Georgia,Songti SC,serif;font-size:clamp(44px,6vw,82px);font-weight:400;line-height:1.06;margin:20px 0}.auth-copy p{color:#bed4d3;font-size:18px;max-width:520px;line-height:1.8}.auth-card,.register-card{border-radius:18px;box-shadow:0 25px 70px #00000038}.auth-card .ant-card-body{padding:42px}.auth-footer{text-align:center;margin-top:22px}.register-page{min-height:100vh;padding:48px 24px;background:linear-gradient(135deg,#173c45 0 25%,#edf2f1 25%)}.register-card{max-width:920px;margin:0 auto}.register-card .ant-card-body{padding:42px}.inline-link{margin-left:18px}.order-item-card{margin-bottom:18px;border:0;box-shadow:0 4px 20px #193a3d0d}.item-index{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#fff;background:#1f6f78}.custom-panel{padding:18px 16px 0;margin-bottom:18px;border-left:3px solid #d88a54;background:#fff7f0}.switch-label{margin-left:10px;color:#687b78}.add-item{height:58px;margin-bottom:18px;border-style:dashed;color:#1f6f78}.order-total{position:sticky;bottom:16px;z-index:5;border:1px solid #b7d3d1;box-shadow:0 10px 30px #18414424}.order-total .ant-card-body{display:flex;align-items:center;justify-content:space-between;gap:20px}.order-total .ant-descriptions{flex:1}.detail-section{margin-top:16px}.subtle{color:#7b8b89;font-size:12px;margin-top:3px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.overdue-text{color:#c62828;font-weight:700}.overdue-row>td{background:#fff3f1!important}.abnormal-row>td{background:#ffe7e7!important;color:#9b1c1c}.danger-card{border:1px solid #ff7875!important;background:#fff1f0}.priority-row>td{background:#fffbe6!important}.workshop-selector{min-width:150px}.blocked-row>td{background:#f4e8ff!important}.nonstandard-row>td{background:#fff7e6!important}.quantity-difference-row>td{background:#fff1f0!important}.schedule-generate-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.public-remark{margin-top:8px;padding:10px 12px;border-left:3px solid #1f6f78;background:#f1f7f6}.workshop-big-screen{min-height:100vh;padding:28px 34px 56px;color:#e7f4f3;background:radial-gradient(circle at 90% 0,#285e65,#102f37 46%,#091e24)}.workshop-big-screen .screen-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.workshop-big-screen h1,.workshop-big-screen .ant-typography-secondary{color:#fff!important}.workshop-big-screen h1{margin:0!important;font-size:clamp(34px,4vw,64px)}.workshop-big-screen .eyebrow{color:#80d6d5;font-size:14px}.workshop-big-screen .screen-stats .ant-card{background:#ffffff17;border:1px solid rgba(255,255,255,.14)}.workshop-big-screen .screen-stats .ant-statistic-title{color:#b8d7d5;font-size:18px}.workshop-big-screen .screen-stats .ant-statistic-content{color:#fff;font-size:clamp(28px,2.4vw,44px)}.workshop-big-screen .screen-stats .danger-card{background:#8f1c1cb8}.workshop-big-screen .screen-table{margin-top:20px;background:#fffffff5}.workshop-big-screen .screen-table .ant-table{font-size:clamp(16px,1.25vw,23px)}.workshop-big-screen .screen-table .ant-table-cell{padding-top:18px;padding-bottom:18px}.workshop-big-screen .screen-link{font-size:inherit;font-weight:700}.screen-time-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:18px;color:#b8d7d5;font-size:18px}.screen-time-line strong{color:#fff;font-size:clamp(28px,3vw,48px);font-variant-numeric:tabular-nums}@media(max-width:767px){.app-content{padding:18px 12px}.app-header{padding:0 10px}.page-title{align-items:flex-start}.page-hero{padding:22px;align-items:flex-start;flex-direction:column;gap:20px}.auth-page{grid-template-columns:1fr;padding:28px 16px}.auth-copy{display:none}.auth-card .ant-card-body,.register-card .ant-card-body{padding:26px 20px}.register-page{padding:20px 10px;background:#edf2f1}.order-total{position:static}.order-total .ant-card-body{align-items:stretch;flex-direction:column}.form-grid{grid-template-columns:1fr}.workshop-big-screen{padding:18px 10px 50px}.workshop-big-screen .screen-header{align-items:flex-start;flex-direction:column;gap:12px}}:root{--color-primary: #222831;--color-gold: #B8945C;--color-gold-dark: #9E7A43;--color-bg: #F7F8FA;--color-card: #FFFFFF;--color-text: #444444;--color-muted: #888888;--color-border: #E5E7EB;--radius-card: 12px;--shadow-card: 0 8px 24px rgba(0,0,0,.06)}body{background:var(--color-bg);color:var(--color-text)}.ant-btn-primary{background:var(--color-gold)!important;border-color:var(--color-gold)!important;box-shadow:0 8px 18px #b8945c38}.ant-btn-primary:hover{background:var(--color-gold-dark)!important;border-color:var(--color-gold-dark)!important}.ant-input:focus,.ant-input-focused,.ant-input-affix-wrapper-focused{border-color:var(--color-gold)!important;box-shadow:0 0 0 2px #b8945c1f!important}.ant-card{border-radius:var(--radius-card);border-color:var(--color-border)}.ant-table-wrapper .ant-table{color:var(--color-text)}.brand-logo{display:flex;align-items:center;gap:12px;color:var(--color-primary)}.brand-logo img{width:42px;height:42px;object-fit:cover;border-radius:10px;background:#fff}.brand-logo-title{font-weight:800;font-size:18px;letter-spacing:.08em;line-height:1.1}.brand-logo-subtitle{margin-top:3px;color:var(--color-muted);font-size:10px;letter-spacing:.13em}.brand-logo.light{color:#fff}.brand-logo.light img{background:transparent}.brand-logo.light .brand-logo-subtitle{color:#ffffffa8}.brand-logo.compact img{width:36px;height:36px}.app-layout{background:var(--color-bg)}.app-sider{background:var(--color-primary)!important;box-shadow:8px 0 26px #00000014}.brand{height:86px;padding:18px 20px;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}.app-sider .ant-menu-dark,.app-sider .ant-menu-dark .ant-menu-sub{background:transparent!important}.app-sider .ant-menu-item{margin:6px 14px;width:calc(100% - 28px);color:#ffffffb8;border-radius:10px}.app-sider .ant-menu-item-selected{background:linear-gradient(135deg,var(--color-gold),#D4B06E)!important;color:#fff!important;box-shadow:0 8px 18px #b8945c40}.app-sider .ant-menu-item:hover{color:#fff!important;background:#ffffff14!important}.app-header{height:72px;background:#ffffffeb;border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-header .ant-typography{color:var(--color-primary)}.app-content{background:var(--color-bg)}.auth-page{position:relative;min-height:100vh;padding:40px;display:grid;place-items:center;grid-template-columns:1fr;overflow:hidden;background:linear-gradient(90deg,#f7f8faf0 0 42%,#f7f8fab8 64%,#f7f8fa8a),url(/brand/login-casting-bg.png) center / cover no-repeat,var(--color-bg)}.auth-page:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,#ffffff9e 0 46%,#ffffff2e 46% 100%),radial-gradient(circle at 50% 35%,rgba(184,148,92,.1),transparent 30%);pointer-events:none}.auth-backdrop{position:absolute;right:-4vw;top:0;width:44vw;height:100%;opacity:.12;background:linear-gradient(90deg,transparent,#fff 80%),radial-gradient(circle at 50% 45%,#B8945C,transparent 38%)}.auth-brand-bar{position:absolute;left:48px;top:38px;z-index:2}.enterprise-login-card{position:relative;z-index:2;width:min(520px,calc(100vw - 48px));border-radius:14px!important;box-shadow:0 20px 55px #2228311f!important}.enterprise-login-card .ant-card-body{padding:56px 64px}.enterprise-login-card h1.ant-typography{margin:10px 0 8px!important;text-align:center;color:var(--color-primary)!important;font-size:34px;letter-spacing:.08em}.login-subtitle{text-align:center;color:var(--color-muted)!important;margin-bottom:38px!important}.login-card-ornament{display:flex;align-items:center;justify-content:center;gap:18px;color:var(--color-gold)}.login-card-ornament:before,.login-card-ornament:after{content:"";width:110px;height:1px;background:#b8945c8c}.login-card-ornament span{width:10px;height:10px;transform:rotate(45deg);background:var(--color-gold)}.gold-login-button{height:48px;margin-top:6px;border-radius:6px;font-size:17px;letter-spacing:.45em}.auth-footer{color:var(--color-muted)}.auth-copy{display:none}.enterprise-page{color:var(--color-text)}.enterprise-hero{margin-bottom:24px;padding:8px 0 4px}.enterprise-hero h1.ant-typography{margin:0 0 18px!important;color:var(--color-primary)!important;font-size:30px;font-weight:750}.enterprise-hero h3.ant-typography{margin:0 0 6px!important;color:var(--color-primary)!important}.enterprise-hero .ant-typography{color:var(--color-muted)}.enterprise-section{margin-bottom:22px}.enterprise-stat-card,.enterprise-module-card,.enterprise-panel{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.enterprise-stat-card .ant-card-body{min-height:132px;padding:22px 24px}.enterprise-card-icon{width:54px;height:54px;display:grid;place-items:center;float:left;margin-right:20px;border-radius:50%;border:1px solid rgba(184,148,92,.22);color:var(--color-gold);background:#b8945c0f;font-size:25px}.enterprise-card-label{display:block;color:var(--color-muted);font-size:14px}.enterprise-card-value{margin-top:8px;color:var(--color-primary);font-size:30px;font-weight:760;line-height:1.1}.enterprise-card-hint{display:block;margin-top:8px;color:var(--color-muted)}.enterprise-module-card{transition:transform .18s ease,box-shadow .18s ease}.enterprise-module-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #00000014}.enterprise-module-card .ant-card-body{min-height:112px;display:flex;align-items:center;gap:18px}.enterprise-module-text{flex:1}.enterprise-module-text h4.ant-typography{margin:0 0 4px!important;color:var(--color-primary)!important}.enterprise-module-arrow{color:var(--color-muted)}.enterprise-panel{padding:22px 24px;min-height:246px}.enterprise-panel-title{margin-bottom:16px;padding-bottom:10px;color:var(--color-primary);font-size:17px;font-weight:700;border-bottom:1px solid var(--color-border)}.todo-line{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--color-border);color:var(--color-text)}.todo-line b{color:var(--color-gold)}.customer-hero{padding:24px 26px;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.action-card{border:1px solid var(--color-border);box-shadow:var(--shadow-card)}.action-card.accent{background:var(--color-primary)}.action-icon{color:var(--color-gold);background:#b8945c14}@media(max-width:767px){.auth-page{padding:88px 18px 28px}.auth-brand-bar{left:22px;top:22px}.enterprise-login-card .ant-card-body{padding:38px 24px}.enterprise-login-card h1.ant-typography{font-size:26px}}html,body,#root{font-family:Inter,Noto Sans SC,Source Han Sans SC,Microsoft YaHei,Arial,sans-serif}.login-page.auth-page{min-height:100vh;position:relative;overflow:hidden;padding:42px 56px;display:grid;grid-template-columns:1fr;place-items:center;background:#f7f8fa;font-family:Inter,Noto Sans SC,Source Han Sans SC,Microsoft YaHei,Arial,sans-serif}.login-page.auth-page:before{content:"";position:absolute;inset:0;z-index:0;background-image:url(/images/login-bg.png);background-size:cover;background-position:center right;background-repeat:no-repeat;opacity:1;pointer-events:none}.login-page.auth-page:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#f7f8fafa,#f7f8fae6 42%,#f7f8fa8c);pointer-events:none}.login-page .auth-brand-bar{position:absolute;left:56px;top:42px;z-index:3}.login-page .brand-logo,.brand-logo{display:inline-flex;align-items:center;gap:12px;color:#222831}.login-page .brand-logo__mark,.brand-logo__mark{width:42px;height:42px;flex:0 0 42px;object-fit:contain;border-radius:8px;background:transparent}.login-page .brand-logo__name,.brand-logo__name{color:#222831;font-size:20px;font-weight:700;line-height:1.1}.login-page .brand-logo__en,.brand-logo__en{margin-top:4px;color:#888;font-size:11px;font-weight:500;letter-spacing:2px}.brand-logo.light .brand-logo__name,.brand-logo.light .brand-logo__en{color:#fff}.brand-logo.compact .brand-logo__mark{width:36px;height:36px;flex-basis:36px}.login-page .enterprise-login-card{position:relative;z-index:2;width:min(600px,calc(100vw - 48px));min-height:580px;border-radius:14px!important;background:#fffffff5!important;border:none!important;box-shadow:0 24px 70px #2228311a!important}.login-page .enterprise-login-card .ant-card-body{padding:70px 78px 58px}.login-page .login-card-ornament{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:28px}.login-page .login-card-ornament:before,.login-page .login-card-ornament:after{content:"";width:120px;height:1px;background:#b8945c9e}.login-page .login-card-ornament span{width:10px;height:10px;transform:rotate(45deg);background:#b8945c}.login-page .enterprise-login-card h1.ant-typography{margin:0 0 8px!important;text-align:center;color:#222831!important;font-size:38px;font-weight:800;letter-spacing:.06em;line-height:1.22}.login-page .login-subtitle{margin-bottom:34px!important;text-align:center;color:#888;font-size:15px;line-height:1.8}.login-page .login-form{margin-top:0}.login-page .ant-form-item{margin-bottom:24px}.login-page .ant-form-item-label>label{color:#444;font-weight:500}.login-page .ant-input-affix-wrapper{height:48px;border-radius:10px;border:1px solid #e5e7eb;box-shadow:none}.login-page .ant-input-affix-wrapper:hover,.login-page .ant-input-affix-wrapper-focused,.login-page .ant-input-affix-wrapper:focus{border-color:#b8945c!important;box-shadow:0 0 0 3px #b8945c1f!important}.login-page .ant-input-prefix,.login-page .ant-input-password-icon{color:#888}.login-page .ant-input,.login-page .ant-input-password .ant-input{color:#444;font-size:15px;font-family:inherit}.login-page .ant-input::placeholder,.login-page .ant-input-password .ant-input::placeholder{color:#b8b8b8}.login-page .login-button.gold-login-button{width:100%;height:54px;margin-top:4px;border-radius:8px;border:none;background:#b8945c!important;color:#fff;font-size:18px;font-weight:600;letter-spacing:6px;box-shadow:0 14px 28px #b8945c3d}.login-page .login-button.gold-login-button:hover,.login-page .login-button.gold-login-button:focus{background:#a77f47!important;color:#fff!important}.login-page .auth-footer{margin-top:26px;text-align:center;color:#888}.login-page .auth-footer a{color:#b8945c;font-weight:600}@media(max-width:767px){.login-page.auth-page{padding:92px 18px 28px}.login-page .auth-brand-bar{left:22px;top:22px}.login-page .brand-logo__mark{width:38px;height:38px;flex-basis:38px}.login-page .brand-logo__name{font-size:18px}.login-page .enterprise-login-card{min-height:auto}.login-page .enterprise-login-card .ant-card-body{padding:42px 24px 36px}.login-page .enterprise-login-card h1.ant-typography{font-size:28px}.login-page .login-card-ornament:before,.login-page .login-card-ornament:after{width:72px}}
