.auth-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:var(--color-bg-base);padding:20px}.auth-container{background-color:var(--color-bg-card);padding:2.5rem;border-radius:12px;box-shadow:0 8px 24px #0003;width:100%;max-width:400px;border:1px solid var(--color-border)}.auth-header{text-align:center;margin-bottom:2rem}.auth-logo{font-size:3rem;margin-bottom:1rem}.auth-title{font-size:1.75rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .5rem}.auth-subtitle{font-size:.9rem;color:var(--color-text-secondary);margin:0}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;font-weight:500;color:var(--color-text-secondary)}.form-group input{padding:.75rem 1rem;border-radius:8px;border:1px solid var(--color-border);background-color:var(--color-bg-input);color:var(--color-text-primary);font-size:1rem;transition:all .2s ease}.form-group input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.form-group input.input-error{border-color:var(--color-error)}.error-text{font-size:.8rem;color:var(--color-error);margin-top:.25rem}.form-error{background-color:#ef44441a;color:var(--color-error);padding:.75rem;border-radius:6px;font-size:.9rem;margin-bottom:1rem;border:1px solid rgba(239,68,68,.2);text-align:center}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.auth-footer{margin-top:1.5rem;text-align:center;font-size:.9rem;color:var(--color-text-secondary)}.auth-footer a{color:var(--color-primary);text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}.layout{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg-primary)}.layout-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.header-brand{display:flex;align-items:center;gap:var(--spacing-sm)}.brand-icon{font-size:var(--text-xl)}.brand-text{font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary)}.header-user{display:flex;align-items:center;gap:var(--spacing-md)}.user-role{font-size:var(--text-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-accent-light);color:var(--color-accent);border-radius:var(--radius-full)}.user-name{font-size:var(--text-sm);color:var(--color-text-secondary)}.btn-logout{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--text-sm);color:var(--color-text-secondary);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast)}.btn-logout:hover{color:var(--color-error);border-color:var(--color-error)}.layout-body{flex:1;display:flex;flex-direction:column}.layout-nav{display:flex;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border);overflow-x:auto}.nav-item{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--text-sm);color:var(--color-text-secondary);background:transparent;border-radius:var(--radius-md);text-decoration:none;white-space:nowrap;transition:all var(--transition-fast);min-height:44px}.nav-item:hover{color:var(--color-text-primary);background:var(--color-bg-card)}.nav-item.active{color:var(--color-accent);background:var(--color-accent-light)}.nav-icon{font-size:var(--text-base)}.nav-label{font-weight:500}.layout-main{flex:1;padding:var(--spacing-lg);max-width:1400px;margin:0 auto;width:100%}.page-title{font-size:var(--text-2xl);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-lg)}@media(min-width:768px){.layout-body{flex-direction:row}.layout-nav{flex-direction:column;width:200px;min-height:calc(100vh - 60px);padding:var(--spacing-md);border-bottom:none;border-right:1px solid var(--color-border)}.layout-main{padding:var(--spacing-xl)}}@media(min-width:1024px){.layout-nav{width:240px}}.dashboard{display:flex;flex-direction:column;gap:var(--spacing-xl)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}@media(min-width:768px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.stat-card.pending{border-color:var(--color-warning)}.stat-card.producing{border-color:var(--color-info)}.stat-icon{font-size:var(--text-2xl)}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:var(--text-2xl);font-weight:700;color:var(--color-text-primary)}.stat-label{font-size:var(--text-sm);color:var(--color-text-secondary)}.quick-actions h2{font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}@media(min-width:768px){.action-grid{grid-template-columns:repeat(4,1fr)}}.action-card{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg);background:var(--color-bg-tertiary);border-radius:var(--radius-lg);border:1px solid var(--color-border);text-decoration:none;transition:all var(--transition-fast);min-height:100px}.action-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.action-icon{font-size:var(--text-2xl)}.action-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary)}.data-table{width:100%;background:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden}.data-table table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.data-table th{font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary);background:var(--color-bg-tertiary)}.data-table td{font-size:var(--text-sm);color:var(--color-text-primary)}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--color-bg-tertiary)}input[type=text],input[type=password],input[type=number],input[type=email],input[type=date],select,textarea{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.6rem .8rem;width:100%;transition:all .2s ease;font-size:var(--text-base);height:42px;box-sizing:border-box}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%239ca3af' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;padding-right:2.5rem}input:focus,select:focus,textarea:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px var(--color-accent-light);background-color:var(--color-bg-tertiary)}input:hover,select:hover,textarea:hover{border-color:var(--color-text-muted)}input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:.7}input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed;background-color:var(--color-bg-primary)}.status-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--text-xs);font-weight:500;border-radius:var(--radius-full)}.status-badge.pending{background:#f59e0b26;color:var(--color-warning)}.status-badge.producing{background:#3b82f626;color:var(--color-info)}.status-badge.done{background:#10b98126;color:var(--color-success)}.form-container{max-width:600px;background:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:var(--spacing-xl)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);text-align:center}.empty-icon{font-size:3rem;margin-bottom:var(--spacing-md)}.empty-text{font-size:var(--text-base);color:var(--color-text-secondary)}.role-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--text-xs);font-weight:500;border-radius:var(--radius-full)}.role-badge.role-admin{background:#8b5cf626;color:#a78bfa}.role-badge.role-clerk{background:#3b82f626;color:var(--color-info)}.role-badge.role-worker{background:#10b98126;color:var(--color-success)}.role-badge.role-customer{background:#f59e0b26;color:var(--color-warning)}.mobile-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.mobile-card{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--spacing-sm);box-shadow:var(--shadow-md)}.mobile-card+.mobile-card{margin-top:var(--spacing-xs)}.mobile-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.mobile-title{font-size:var(--text-base);font-weight:600;color:var(--color-text-primary)}.mobile-card-header .role-badge{padding:.15rem .5rem;font-size:.7rem}.mobile-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xs);padding:.25rem 0;font-size:var(--text-xs)}.mobile-label{color:var(--color-text-secondary);min-width:5em;font-size:var(--text-xs)}.mobile-value{color:var(--color-text-primary);font-size:var(--text-xs);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.mobile-actions{display:flex;gap:.4rem;margin-top:var(--spacing-sm);justify-content:flex-end}.mobile-actions .btn{flex:none;padding:.25rem .5rem;font-size:var(--text-xs)}.action-buttons{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.alert{padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);font-size:var(--text-sm)}.alert-success{background:#10b98126;border:1px solid var(--color-success);color:var(--color-success)}.alert-error{background:#ef44441a;border:1px solid var(--color-error);color:var(--color-error)}.form-title{font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.form-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md)}@media(min-width:768px){.form-grid{grid-template-columns:repeat(2,1fr)}}.form-actions{margin-top:var(--spacing-md)}.hint{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--spacing-sm)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md)}.modal{width:100%;max-width:400px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border)}.modal-header h3{font-size:var(--text-base);font-weight:600;color:var(--color-text-primary)}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:var(--text-xl);color:var(--color-text-muted);background:transparent;border:none;cursor:pointer;border-radius:var(--radius-sm)}.modal-close:hover{color:var(--color-text-primary);background:var(--color-bg-secondary)}.modal-body{padding:var(--spacing-md) var(--spacing-lg)}.credential-box{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);margin:var(--spacing-md) 0}.credential-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) 0}.credential-item:not(:last-child){border-bottom:1px dashed var(--color-border)}.credential-label{font-size:var(--text-sm);color:var(--color-text-secondary)}.credential-value{font-size:var(--text-base);font-weight:600;color:var(--color-accent);font-family:var(--font-mono);background:var(--color-accent-light);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm)}.modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-tertiary);border-top:1px solid var(--color-border)}.modal-footer .btn{min-width:80px}.modal.modal-wide{max-width:500px}.modal-header-success{background:linear-gradient(135deg,#10b9811a,#10b98105);border-bottom:1px solid rgba(16,185,129,.2)}.modal-header-success h3{color:var(--color-success)}.modal-header-info{background:linear-gradient(135deg,#3b82f61a,#3b82f605);border-bottom:1px solid rgba(59,130,246,.2)}.modal-header-danger{background:linear-gradient(135deg,#ef44441a,#ef444405);border-bottom:1px solid rgba(239,68,68,.2)}.modal-header-danger h3{color:var(--color-error)}.confirm-text{font-size:var(--text-base);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.confirm-text strong{color:var(--color-primary)}@media(max-width:768px){.dashboard,.stats-grid{gap:var(--spacing-sm)}.stat-card{padding:var(--spacing-sm)}.stat-value{font-size:var(--text-lg)}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -.5rem;padding:0 .5rem;width:calc(100% + 1rem);border-radius:0}table th,table td{padding:.5rem .25rem;white-space:nowrap;font-size:.8rem}table th:first-child,table td:first-child{padding-left:.5rem;position:sticky;left:0;background:var(--color-bg-card);z-index:10;box-shadow:2px 0 5px #0000001a}.action-buttons{display:flex;gap:.25rem;justify-content:flex-start}.btn-sm{padding:.2rem .4rem;font-size:.7rem;height:auto;line-height:normal}.role-badge,.status-badge{padding:.15rem .4rem;font-size:.7rem}}.order-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-md)}.order-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden}.order-card:hover{border-color:var(--color-accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.order-card.selected{border-color:var(--color-accent);background:var(--color-bg-tertiary);box-shadow:0 0 0 1px var(--color-accent)}.order-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px dashed var(--color-border)}.order-id{font-size:var(--text-lg);font-weight:700;color:var(--color-text-primary);font-family:var(--font-mono)}.order-card-body{display:flex;flex-direction:column;gap:var(--spacing-sm)}.order-info{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm);line-height:1.5}.order-info .label{color:var(--color-text-secondary)}.order-info span:last-child{font-weight:500;color:var(--color-text-primary);text-align:right}.progress-panel{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border);animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.customer-layout{gap:var(--spacing-md)}.order-cards{grid-template-columns:1fr}.order-card{padding:var(--spacing-md)}.order-id{font-size:var(--text-base)}.status-badge{font-size:.75rem;padding:.15rem .5rem}.progress-panel{margin-top:var(--spacing-md);padding-top:var(--spacing-md)}}.order-detail-page .page-header{margin-bottom:var(--spacing-lg);display:flex;justify-content:space-between;align-items:center}.credential-header{display:flex;gap:var(--spacing-xl);background:var(--color-bg-card);padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid var(--color-border);margin-bottom:var(--spacing-xl);flex-wrap:wrap;align-items:flex-end}.credential-group{display:flex;flex-direction:column;gap:5px}.credential-label{font-size:var(--text-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.credential-value{font-size:var(--text-xl);font-weight:700;color:var(--color-text-primary)}.credential-value.mono{font-family:var(--font-mono);color:var(--color-accent)}.items-section{margin-bottom:var(--spacing-xl)}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg)}.item-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:transform .2s,box-shadow .2s}.item-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-border-light)}.item-header{background:var(--color-bg-tertiary);padding:var(--spacing-md);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.item-title{font-weight:600;color:var(--color-text-primary);display:flex;align-items:center;gap:8px}.item-badge{font-size:.85rem;padding:2px 8px;background:transparent;color:var(--color-primary);font-weight:600;margin-left:8px}.item-body{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.spec-group{padding-bottom:var(--spacing-xs)}.spec-group:last-child{border-bottom:none}.spec-group-title{font-size:.75rem;color:var(--color-text-muted);margin-bottom:8px;font-weight:600;text-transform:uppercase}.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.spec-row{display:flex;justify-content:space-between;align-items:baseline}.spec-label{font-size:.85rem;color:var(--color-text-secondary)}.spec-val{font-size:.9rem;color:var(--color-text-primary);font-weight:500;text-align:right}.requirements-section{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.req-list{list-style:none;margin-top:var(--spacing-md)}.req-item{padding:var(--spacing-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm);display:flex;gap:var(--spacing-md);align-items:flex-start}.req-seq{background:var(--color-accent);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;flex-shrink:0}.add-item-form-container{background:var(--color-bg-tertiary);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);border:1px solid var(--color-border)}.add-item-form,.add-requirement-form{display:flex;gap:var(--spacing-sm);align-items:center}.add-item-form input,.add-requirement-form input{flex:1}.credential-input{background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:8px 12px;color:var(--color-text-primary);font-size:var(--text-md);width:15rem}.credential-input.small{width:6rem}.header-actions .btn-primary-outline{background:transparent;border:1px solid var(--color-primary);color:var(--color-primary)}.header-actions .btn-primary-outline:hover{background:var(--color-primary-light)}.item-title .btn-icon-danger{padding:2px 6px;font-size:.9rem;opacity:.6;transition:opacity .2s}.item-title .btn-icon-danger:hover{opacity:1}.req-item .btn-icon-link.danger{font-size:.75rem;color:var(--color-error);background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:4px}.req-item .btn-icon-link.danger:hover{background:#ff00001a;text-decoration:underline}.add-item-form-container h4{margin:0 0 1rem;color:var(--color-accent);border-left:3px solid var(--color-accent);padding-left:10px}.form-group label{display:block;margin-bottom:5px;font-size:.8rem;color:var(--color-text-secondary)}.add-requirement-form{margin-top:var(--spacing-md)}.production-layout{display:flex;flex-direction:column;gap:var(--spacing-lg)}@media(min-width:768px){.production-layout{flex-direction:row}}.order-list-panel{flex:1;max-width:400px}.order-list-panel h3{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--spacing-md);color:var(--color-text-primary)}.order-list{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-sm)}.order-item{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.order-item:hover{border-color:var(--color-accent)}.order-item.selected{border-color:var(--color-accent);background:var(--color-accent-light)}.order-item-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.order-id{font-weight:600;color:var(--color-text-primary);font-size:var(--text-base)}.order-meta-grid{display:flex;flex-direction:column;gap:var(--spacing-sm)}.meta{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm)}.meta .label{color:var(--color-text-secondary)}.meta .value{color:var(--color-text-primary);font-weight:500;text-align:right}.order-actions{display:flex;gap:var(--spacing-sm)}.order-actions .btn{min-height:32px;font-size:var(--text-xs)}.process-panel{flex:2;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.process-panel h3{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--spacing-lg);color:var(--color-text-primary)}.process-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.panel-actions{margin-top:var(--spacing-md);display:flex;justify-content:flex-end}.process-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md);border-left:4px solid var(--color-border)}@media(max-width:767px){.process-item{align-items:flex-start}}.process-item.started{border-left-color:var(--color-info);background:#3b82f61a}.process-item.completed{border-left-color:var(--color-success);background:#10b9811a}.process-number{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary);border-radius:var(--radius-full);font-weight:600;font-size:var(--text-sm);color:var(--color-text-secondary);flex-shrink:0}.process-item.completed .process-number{background:var(--color-success);color:#fff}.process-content-wrapper{flex:1;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}@media(max-width:767px){.process-content-wrapper{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}}.process-info-col{display:flex;flex-direction:column;gap:4px;flex:1}.process-header-row{display:flex;align-items:baseline;gap:8px}.process-name{font-weight:500;color:var(--color-text-primary)}.process-worker-name{font-size:var(--text-sm);color:var(--color-text-secondary)}.process-status-col{display:flex;justify-content:center;align-items:center;width:180px;flex-shrink:0}@media(max-width:767px){.process-status-col{width:100%;justify-content:flex-start}}.process-spacer-col{display:none}.process-status-col .btn-outline,.process-status-col .btn-primary{border-radius:9999px;padding-left:1.5rem;padding-right:1.5rem}@media(max-width:767px){.process-spacer-col{display:none}}.process-done{font-size:var(--text-sm);color:var(--color-success);font-weight:500}.chip{display:inline-block;padding:.25rem .5rem;font-size:var(--text-xs);font-weight:500;border-radius:var(--radius-full);border:1px solid var(--color-border)}.chip-success{background:#10b9811f;color:var(--color-success);border-color:var(--color-success)}.chip-warning{background:#f59e0b1f;color:var(--color-warning);border-color:var(--color-warning)}.details-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm) var(--spacing-lg);margin-bottom:var(--spacing-lg)}.summary-row{display:flex;align-items:baseline;gap:8px;font-size:var(--text-sm)}.summary-row span{color:var(--color-text-secondary)}.summary-row strong{color:var(--color-text-primary)}.details-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.detail-card{background:var(--color-bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:var(--spacing-md)}.detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.detail-title{font-weight:600;color:var(--color-text-primary)}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm) var(--spacing-lg)}@media(min-width:1024px){.detail-grid{grid-template-columns:repeat(3,1fr)}}.detail-cell{display:flex;align-items:baseline;gap:8px;font-size:var(--text-xs)}.detail-cell span{color:var(--color-text-secondary)}.detail-cell strong{color:var(--color-text-primary)}.requirements-section{margin-top:var(--spacing-md)}.req-title{font-weight:600;margin-bottom:var(--spacing-xs);color:var(--color-text-primary)}.req-list{list-style:none;display:flex;flex-direction:column;gap:6px}.req-item{display:flex;gap:8px;font-size:var(--text-xs)}.req-seq{color:var(--color-text-secondary)}.req-content{color:var(--color-text-primary)}.btn-sm{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--text-sm);min-height:36px}.btn-link{color:var(--color-accent);font-size:var(--text-sm)}.btn-link:hover{text-decoration:underline}.btn-outline{background:transparent;border:1px solid var(--color-border)}.btn-danger-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--text-xs);color:var(--color-error);background:transparent;border:1px solid var(--color-error);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.btn-danger-sm:hover{background:var(--color-error);color:#fff}.page-actions{margin-bottom:var(--spacing-lg)}.modal-header-info{background:linear-gradient(135deg,#3b82f626,#3b82f60d);border-bottom-color:#3b82f64d}.modal-header-info h3{color:var(--color-info)}.btn-info{background:var(--color-info);color:#fff;border:none}.btn-info:hover{background:#2563eb}.confirm-order-info{margin-top:var(--spacing-md);padding:var(--spacing-sm);background:var(--color-bg-secondary);border-radius:var(--radius-sm);display:flex;justify-content:space-between;font-size:var(--text-sm)}.confirm-order-info strong{font-family:monospace}.page-subtitle{font-size:var(--text-base);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.customer-layout{display:flex;flex-direction:column;gap:var(--spacing-lg)}@media(min-width:768px){.customer-layout{flex-direction:row}}.order-cards{display:flex;flex-direction:column;gap:var(--spacing-md);flex:1;max-width:500px}.order-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md);cursor:pointer;transition:all var(--transition-fast)}.order-card:hover{border-color:var(--color-accent)}.order-card.selected{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.order-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.order-card .order-id{font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary)}.order-card-body{display:flex;flex-direction:column;gap:var(--spacing-xs)}.order-info{display:flex;font-size:var(--text-sm)}.order-info .label{color:var(--color-text-muted);width:80px}.progress-panel{flex:1;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.progress-panel h3{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--spacing-lg);color:var(--color-text-primary)}.progress-timeline{display:flex;flex-direction:column;gap:var(--spacing-md);padding-left:var(--spacing-md)}.timeline-item{display:flex;align-items:flex-start;gap:var(--spacing-md);position:relative}.timeline-item:before{content:"";position:absolute;left:12px;top:32px;bottom:-16px;width:2px;background:var(--color-border)}.timeline-item:last-child:before{display:none}.timeline-dot{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border:2px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary);z-index:1}.timeline-item.started .timeline-dot{border-color:var(--color-info);color:var(--color-info);animation:pulse 1.5s infinite}.timeline-item.completed .timeline-dot{background:var(--color-success);border-color:var(--color-success);color:#fff}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.timeline-content{flex:1;padding-bottom:var(--spacing-md)}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.timeline-title{font-weight:500;color:var(--color-text-primary)}.timeline-status-info{display:flex;flex-direction:column;gap:4px;margin-top:4px}.timeline-time-row{display:flex;align-items:center;gap:8px;font-size:var(--text-xs)}.time-label{color:var(--color-text-muted);min-width:45px}.time-val{color:var(--color-text-secondary);font-family:var(--font-mono)}.worker-tag.small{padding:1px 6px;font-size:10px;opacity:.8}.timeline-time{font-size:var(--text-xs);color:var(--color-text-muted);font-family:var(--font-mono)}.timeline-status{font-size:var(--text-sm);color:var(--color-text-secondary)}.timeline-complete-info{display:flex;align-items:center;gap:var(--spacing-sm)}.worker-tag{font-size:var(--text-xs);background:var(--color-bg-tertiary);color:var(--color-text-secondary);padding:2px 8px;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.timeline-item.started .timeline-status{color:var(--color-info)}.timeline-item.completed .timeline-status{color:var(--color-success)}:root{--color-bg-primary: #0f0f1a;--color-bg-secondary: #1a1a2e;--color-bg-tertiary: #252540;--color-bg-card: #16213e;--color-text-primary: #eaeaea;--color-text-secondary: #a0a0b0;--color-text-muted: #6b6b80;--color-accent: #4f46e5;--color-accent-hover: #6366f1;--color-accent-light: rgba(79, 70, 229, .15);--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--color-border: #2d2d44;--color-border-light: #3d3d55;--color-bg-input: var(--color-bg-secondary);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono: "SF Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.6;color:var(--color-text-primary);background:var(--color-bg-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}img{max-width:100%;height:auto}.app{min-height:100vh;display:flex;flex-direction:column}@media(min-width:768px){:root{--text-base: 1rem}}@media(min-width:1024px){:root{--text-base: 1rem}}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer;border:1px solid transparent;white-space:nowrap;line-height:1.25;-webkit-user-select:none;user-select:none;gap:var(--spacing-sm);color:var(--color-text-primary)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background-color:var(--color-accent);color:#fff}.btn-primary:hover{background-color:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #4f46e54d}.btn-secondary{background-color:var(--color-bg-secondary);border-color:var(--color-border-light);color:var(--color-text-secondary)}.btn-secondary:hover{background-color:var(--color-bg-tertiary);border-color:var(--color-text-primary);color:var(--color-text-primary);box-shadow:0 2px 8px #0003}.btn-outline{background-color:transparent;border-color:var(--color-border-light);color:var(--color-text-secondary)}.btn-outline:hover{border-color:var(--color-accent);color:var(--color-accent)}.btn-danger{background-color:var(--color-error);color:#fff}.btn-danger:hover{background-color:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.btn-danger-outline{background-color:transparent;border-color:var(--color-error);color:var(--color-error)}.btn-danger-outline:hover{background-color:var(--color-error);color:#fff}.btn-info{background-color:var(--color-info);color:#fff}.btn-info:hover{background-color:#2563eb;transform:translateY(-1px)}.btn-sm{padding:.35rem .75rem;font-size:var(--text-xs)}.btn-lg{padding:.75rem 1.5rem;font-size:var(--text-base)}.btn-block{display:flex;width:100%}
