*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f1117;--bg-card: #1a1d27;--bg-hover: #22263a;--bg-input: #161822;--border: #2a2e3f;--text: #e4e6ed;--text-muted: #8b8fa3;--primary: #6366f1;--primary-hover: #5457e5;--danger: #ef4444;--danger-hover: #dc2626;--success: #22c55e;--warning: #f59e0b;--radius: 10px;--radius-sm: 6px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;min-height:100vh}a{color:var(--primary);text-decoration:none}.app-layout{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:60px;background:var(--bg-card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:32px}.header-right{display:flex;align-items:center;gap:16px}.logo{font-size:18px;font-weight:700;color:var(--primary)}.main-nav{display:flex;gap:4px}.nav-link{padding:8px 16px;border-radius:var(--radius-sm);color:var(--text-muted);font-size:14px;font-weight:500;transition:all .15s}.nav-link:hover{color:var(--text);background:var(--bg-hover)}.nav-link.active{color:var(--primary);background:#6366f11a}.user-info{font-size:13px;color:var(--text-muted)}.app-main{flex:1;padding:24px;max-width:1200px;margin:0 auto;width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;border:none;cursor:pointer;transition:all .15s;font-family:inherit}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-hover)}.btn-outline{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-outline:hover{color:var(--text);border-color:var(--text-muted)}.btn-sm{padding:6px 12px;font-size:12px}.btn-full{width:100%}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;font-weight:500;color:var(--text-muted);margin-bottom:6px}.form-group input,.form-group textarea,.form-group select{width:100%;min-width:0;padding:10px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:14px;font-family:inherit;transition:border-color .15s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary)}.form-group textarea{resize:vertical}.form-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.form-section{margin:20px 0}.form-section h3{font-size:14px;margin-bottom:12px;color:var(--text-muted)}.alert{padding:12px 16px;border-radius:var(--radius-sm);font-size:14px;margin-bottom:16px;cursor:pointer}.alert-error{background:#ef444426;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.alert-info{background:#6366f126;color:#a5b4fc;border:1px solid rgba(99,102,241,.3)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-card{width:100%;max-width:400px;padding:40px;background:var(--bg-card);border-radius:16px;border:1px solid var(--border)}.login-title{text-align:center;font-size:28px;color:var(--primary);margin-bottom:4px}.login-subtitle{text-align:center;color:var(--text-muted);margin-bottom:32px;font-size:14px}.shift-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;cursor:pointer;transition:all .2s;max-width:500px}.shift-card:hover{border-color:var(--primary);transform:translateY(-2px)}.shift-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.shift-status{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;color:#fff}.shift-date{font-size:13px;color:var(--text-muted)}.shift-info-row{display:flex;gap:8px;margin-bottom:8px;font-size:14px}.shift-info-row .label{color:var(--text-muted);min-width:90px}.shift-card-footer{margin-top:16px;text-align:center;font-size:13px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-header h2{font-size:18px}.modal-close{background:none;border:none;color:var(--text-muted);font-size:24px;cursor:pointer;padding:4px}.modal-close:hover{color:var(--text)}.modal-body{padding:24px;overflow-y:auto;overflow-x:hidden;flex:1;min-width:0}.panel-section{margin-bottom:24px}.panel-section h3{font-size:14px;color:var(--text-muted);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.panel-actions{margin-top:24px}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th{text-align:left;padding:10px 12px;color:var(--text-muted);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.data-table td{padding:10px 12px;border-bottom:1px solid var(--border)}.data-table code{background:var(--bg);padding:2px 6px;border-radius:4px;font-size:13px}.clickable-row{cursor:pointer;transition:background .1s}.clickable-row:hover{background:var(--bg-hover)}.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;color:#fff}.badge-role{background:var(--primary)}.filter-tabs{display:flex;gap:4px;flex-wrap:wrap}.filter-tab{padding:6px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:13px;cursor:pointer;font-family:inherit;transition:all .15s}.filter-tab:hover{border-color:var(--text-muted);color:var(--text)}.filter-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px;flex-wrap:wrap}.page-header h2{margin:0}.page-header-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.income-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:8px;margin-bottom:8px;align-items:center}.income-site-label{font-size:14px;color:var(--text);font-weight:500}.income-row input{padding:8px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:14px;font-family:inherit}.income-row input:focus{outline:none;border-color:var(--primary)}.income-detail{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border);font-size:14px}.income-detail.total{border-top:2px solid var(--border);border-bottom:none;padding-top:12px;margin-top:4px}.screenshots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.screenshot-thumb{position:relative;border-radius:var(--radius-sm);overflow:hidden;aspect-ratio:1}.screenshot-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.screenshot-phase{position:absolute;bottom:4px;left:4px;background:#000000b3;padding:2px 8px;border-radius:4px;font-size:11px}.workers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.worker-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.worker-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.worker-name{font-size:16px;font-weight:600}.worker-card-body{font-size:13px;color:var(--text-muted)}.worker-card-body>div{margin-bottom:6px}.worker-card-body strong{color:var(--text)}.worker-card-body code{background:var(--bg);padding:1px 4px;border-radius:3px;font-size:12px}.worker-resume{white-space:pre-wrap}.worker-accounts{margin-top:8px}.account-line{padding-left:12px;margin-top:4px;font-size:12px}.worker-card-actions{display:flex;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.account-form-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto;gap:8px;margin-bottom:8px}.account-form-row input{padding:8px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:14px;font-family:inherit;min-width:0}.account-form-row input:focus{outline:none;border-color:var(--primary)}.manuals-list{display:grid;gap:12px}.manual-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;cursor:pointer;transition:border-color .15s}.manual-card:hover,.manual-card.active{border-color:var(--primary)}.manual-card-header{display:flex;justify-content:space-between;align-items:center}.manual-card-header h3{font-size:16px}.manual-content{margin-top:12px}.manual-content pre{white-space:pre-wrap;font-family:inherit;font-size:14px;color:var(--text-muted);line-height:1.6}.manual-actions{display:flex;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.stats-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;text-align:center}.stat-label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.stat-value{font-size:28px;font-weight:700;color:var(--primary)}.shift-stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;margin-bottom:12px}.shift-stat-header{display:flex;justify-content:space-between;align-items:center}.shift-stat-date{font-size:13px;color:var(--text-muted)}.shift-stat-model{font-weight:500}.shift-stat-total{font-weight:700;color:var(--success)}.shift-stat-details{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.create-shift-form{max-width:500px}.accounts-preview{margin:16px 0;padding:16px;background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border)}.accounts-preview h4{font-size:13px;color:var(--text-muted);margin-bottom:12px}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-icon{font-size:48px;margin-bottom:16px}.text-muted{color:var(--text-muted)}.page-loading{text-align:center;padding:40px;color:var(--text-muted)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;font-size:14px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media(max-width:768px){.app-header{padding:0 12px}.header-left{gap:16px}.main-nav{gap:2px}.nav-link{padding:6px 10px;font-size:13px}.app-main{padding:16px}.form-row,.account-form-row,.income-row,.workers-grid{grid-template-columns:1fr}.page-header{flex-direction:column}}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:var(--radius);color:#fff;font-size:14px;font-weight:500;box-shadow:0 8px 24px #0006;animation:toastIn .3s ease,toastOut .3s ease 3.5s forwards;pointer-events:auto;min-width:250px;max-width:400px}.toast-icon{font-size:16px;flex-shrink:0}.toast-message{flex:1}.toast-info{background:#3b82f6}.toast-success{background:#22c55e}.toast-error{background:#ef4444}.toast-warning{background:#f59e0b;color:#000}@keyframes toastIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes toastOut{0%{opacity:1}to{opacity:0;transform:translateY(-10px)}}.pagination{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:20px;padding:10px 0}.pagination-dots{color:var(--text-muted);padding:0 4px}.stats-filters{margin-bottom:20px}.date-range-picker{display:flex;align-items:center;gap:12px;margin-top:12px}.date-range-picker input[type=date]{padding:8px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:14px;font-family:inherit}.date-range-picker span{color:var(--text-muted)}
