:root{--color-bg:#0c0f14;--color-surface:#161a22;--color-surface-raised:#1c2129;--color-primary:#d4920b;--color-primary-hover:#f5a623;--color-primary-glow:#d4920b26;--color-danger:#ef4444;--color-danger-hover:#f87171;--color-text:#e8e6e3;--color-text-secondary:#7a808c;--color-border:#252a34;--color-border-hover:#3a4050;--color-error:#f87171;--color-input-bg:#12151b;--color-btn-primary-text:#0c0f14;--color-surface-glass:#161a22eb;--color-surface-glass-strong:#161a22f2;--color-body-glow:#d4920b0a;--color-danger-subtle:#ef444414;--color-danger-border-subtle:#ef444426;--color-danger-action-border:#d4920b4d;--color-overlay:#000000b3;--color-overlay-heavy:#000000d9;--color-fab-shadow:#d4920b4d;--color-fab-shadow-hover:#d4920b66;--radius:3px;--radius-lg:6px;--shadow:0 2px 12px #0006;--font-display:"Bebas Neue", sans-serif;--font-body:"Plus Jakarta Sans", sans-serif;--font-mono:"JetBrains Mono", monospace;--transition:.2s cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--color-bg:#f4f1ec;--color-surface:#fff;--color-surface-raised:#edeae4;--color-primary:#b37804;--color-primary-hover:#d4920b;--color-primary-glow:#b378041a;--color-danger:#dc2626;--color-danger-hover:#ef4444;--color-text:#1c1f26;--color-text-secondary:#6d7382;--color-border:#ddd8d0;--color-border-hover:#c5bfb5;--color-error:#dc2626;--color-input-bg:#faf8f5;--color-btn-primary-text:#fff;--color-surface-glass:#f4f1eceb;--color-surface-glass-strong:#f4f1ecf2;--color-body-glow:#b378040d;--color-danger-subtle:#dc26260f;--color-danger-border-subtle:#dc26261f;--color-danger-action-border:#b3780440;--color-overlay:#0006;--color-overlay-heavy:#000000b3;--color-fab-shadow:#b3780440;--color-fab-shadow-hover:#b3780459;--shadow:0 2px 12px #00000014}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-size:16px;line-height:1.55}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:radial-gradient(ellipse 80% 60% at 50% -20%, var(--color-body-glow), transparent), var(--color-bg);min-height:100dvh}h1,h2,h3{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text);font-weight:400}input,select,textarea{border:1px solid var(--color-border);border-radius:var(--radius);width:100%;font-size:.9375rem;font-family:var(--font-body);background:var(--color-input-bg);color:var(--color-text);transition:border-color var(--transition), box-shadow var(--transition);padding:.7rem .85rem}input::placeholder{color:var(--color-text-secondary);opacity:.6}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow);outline:none}input[type=file]{cursor:pointer;padding:.5rem;font-size:.8125rem}input[type=file]::file-selector-button{background:var(--color-surface-raised);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);font-family:var(--font-body);cursor:pointer;transition:background var(--transition);margin-right:.75rem;padding:.35rem .75rem;font-size:.8125rem}input[type=file]::file-selector-button:hover{background:var(--color-border-hover)}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary);margin-bottom:1.1rem;font-size:.75rem;font-weight:600;display:block}label input,label select{margin-top:.35rem}label small{text-transform:none;letter-spacing:0;color:var(--color-primary);margin-top:.25rem;margin-bottom:.25rem;font-size:.75rem;font-weight:400;display:block}.input-clearable{position:relative}.input-clearable input{padding-right:2.25rem}.input-clear{width:28px;height:28px;min-height:28px;color:var(--color-text-secondary);cursor:pointer;text-transform:none;letter-spacing:0;transition:color var(--transition), background var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin:auto;padding:0;display:none;position:absolute;top:0;bottom:0;right:.35rem}.input-clearable:focus-within .input-clear{display:flex}.input-clear:hover{color:var(--color-text);background:var(--color-surface-raised)}.file-field{margin-top:.35rem;position:relative}.file-field-display{background:var(--color-input-bg);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;color:var(--color-text);cursor:pointer;transition:border-color var(--transition);align-items:center;min-height:44px;padding:.7rem 2.5rem .7rem .85rem;font-size:.875rem;display:flex}.file-field-display:hover{border-color:var(--color-border-hover)}.file-field-display .file-field-name{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:.8125rem;overflow:hidden}.file-field-display .file-field-placeholder{color:var(--color-text-secondary);opacity:.6}.file-field input[type=file]{opacity:0;cursor:pointer;z-index:1;position:absolute;inset:0}.file-field-clear{width:28px;height:28px;min-height:28px;color:var(--color-text-secondary);cursor:pointer;text-transform:none;letter-spacing:0;z-index:2;transition:color var(--transition), background var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin:auto;padding:0;display:flex;position:absolute;top:0;bottom:0;right:.35rem}.file-field-clear:hover{color:var(--color-danger);background:var(--color-danger-subtle)}button{border-radius:var(--radius);font-family:var(--font-body);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:all var(--transition);border:none;justify-content:center;align-items:center;gap:.4rem;min-height:44px;padding:.6rem 1.1rem;font-size:.8125rem;font-weight:600;display:inline-flex}button:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--color-btn-primary-text)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:0 0 20px var(--color-primary-glow)}.btn-danger{color:var(--color-danger);border:1px solid var(--color-danger);background:0 0}.btn-danger:hover:not(:disabled){background:var(--color-danger);color:#fff}.btn-ghost{color:var(--color-text-secondary);border:1px solid var(--color-border);background:0 0}.btn-ghost:hover:not(:disabled){border-color:var(--color-border-hover);color:var(--color-text);background:var(--color-surface-raised)}.btn-sm{min-height:34px;padding:.35rem .75rem;font-size:.6875rem}.login-container{background:radial-gradient(ellipse 50% 40% at 50% 40%, var(--color-body-glow), transparent), var(--color-bg);justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem;display:flex}.login-form{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);width:100%;max-width:380px;padding:2.5rem 2rem 2rem;animation:.5s cubic-bezier(.16,1,.3,1) slideUp}.login-form h1{text-align:center;letter-spacing:.08em;color:var(--color-primary);margin-bottom:.25rem;font-size:2.5rem}.login-form h1+p,.login-form .subtitle{text-align:center;color:var(--color-text-secondary);margin-bottom:2rem;font-size:.8125rem}.login-form label:first-of-type{margin-top:2rem}.login-form button{width:100%;margin-top:.75rem;padding:.75rem}.error{color:var(--color-error);text-align:center;border-radius:var(--radius);background:var(--color-danger-subtle);border:1px solid var(--color-danger-border-subtle);margin-bottom:1rem;padding:.5rem;font-size:.8125rem}.top-bar{z-index:10;border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--color-surface-glass);flex-direction:column;gap:.65rem;padding:.75rem 1rem;display:flex;position:fixed;top:0;left:0;right:0}:root{--top-bar-h:6.5rem}.content-area{padding-top:var(--top-bar-h);will-change:transform}.content-releasing{transition:transform .3s cubic-bezier(.2,0,0,1)}.top-bar-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.top-bar-title{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary);white-space:nowrap;font-size:1.4rem;font-weight:400}.theme-toggle{border:1px solid var(--color-border);border-radius:var(--radius);width:30px;height:30px;min-height:30px;color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition), border-color var(--transition), background var(--transition);text-transform:none;letter-spacing:0;background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.theme-toggle:hover{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-glow)}.theme-toggle svg{width:15px;height:15px;transition:transform .3s cubic-bezier(.16,1,.3,1)}.theme-toggle:active svg{transform:rotate(30deg)scale(.9)}.search-wrapper{width:100%;position:relative}.search-icon{width:16px;height:16px;color:var(--color-text-secondary);pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.top-bar-actions{align-items:center;gap:.4rem;display:flex}.btn-install{color:var(--color-primary)!important;border-color:var(--color-primary)!important}.btn-install:hover:not(:disabled){background:var(--color-primary-glow)!important}.top-bar .search-input,.search-wrapper .search-input{background:var(--color-input-bg);border-color:var(--color-border);width:100%;padding:.55rem 2.25rem;font-size:.875rem}.search-clear{width:28px;height:28px;min-height:28px;color:var(--color-text-secondary);cursor:pointer;text-transform:none;letter-spacing:0;transition:color var(--transition), background var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;right:.25rem;transform:translateY(-50%)}.search-clear:hover{color:var(--color-text);background:var(--color-surface-raised)}.fab{z-index:50;background:var(--color-primary);width:56px;height:56px;min-height:56px;color:var(--color-btn-primary-text);box-shadow:0 4px 16px var(--color-fab-shadow), 0 1px 4px #00000026;cursor:pointer;transition:all var(--transition);text-transform:none;letter-spacing:0;border:none;border-radius:16px;justify-content:center;align-items:center;padding:0;display:flex;position:fixed;bottom:1.25rem;right:1.25rem}.fab svg{width:26px;height:26px}.fab:hover{background:var(--color-primary-hover);box-shadow:0 6px 24px var(--color-fab-shadow-hover), 0 2px 8px #00000026;transform:scale(1.08)}.fab:active{transform:scale(.95)}.bid-table{border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;display:none;overflow:hidden}.bid-table th,.bid-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:.7rem .9rem}.bid-table th{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-secondary);background:var(--color-bg);padding:.85rem .9rem;font-size:.6875rem;font-weight:600}.bid-table td{font-size:.875rem;font-family:var(--font-mono);color:var(--color-text);font-weight:400}.bid-table td:first-child{font-family:var(--font-body);color:var(--color-text);font-weight:600}.bid-table td:last-child{font-family:var(--font-body)}.bid-table tbody tr{transition:background var(--transition);cursor:pointer}.bid-table tbody tr:hover{background:var(--color-surface-raised)}.bid-table tbody tr:active{background:var(--color-border)}.bid-table tbody tr:last-child td{border-bottom:none}.bid-table .actions{gap:.4rem;display:flex}.bid-table .actions button{min-height:32px;padding:.3rem .65rem;font-size:.6875rem}.bid-cards{flex-direction:column;gap:.6rem;padding:.75rem;display:flex}.bid-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);transition:border-color var(--transition);cursor:pointer;padding:1rem;animation:.35s cubic-bezier(.16,1,.3,1) both fadeIn}.bid-card:hover{border-color:var(--color-border-hover)}.bid-card:active{border-color:var(--color-primary)}.bid-card .field{justify-content:space-between;align-items:baseline;padding:.3rem 0;font-size:.875rem;display:flex}.bid-card .field span:last-child{font-family:var(--font-mono);color:var(--color-text);text-align:right;font-size:.8125rem}.bid-card .field:first-child span:last-child{font-family:var(--font-body);font-size:.9375rem;font-weight:600}.bid-card .field-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.08em;flex-shrink:0;margin-right:1rem;font-size:.6875rem;font-weight:600}.bid-card .card-actions{border-top:1px solid var(--color-border);gap:.4rem;margin-top:.75rem;padding-top:.75rem;display:flex}.bid-card .card-actions button{flex:1;min-height:38px;font-size:.6875rem}.bid-card:first-child{animation-delay:0s}.bid-card:nth-child(2){animation-delay:30ms}.bid-card:nth-child(3){animation-delay:60ms}.bid-card:nth-child(4){animation-delay:90ms}.bid-card:nth-child(5){animation-delay:.12s}.bid-card:nth-child(6){animation-delay:.15s}.bid-card:nth-child(7){animation-delay:.18s}.bid-card:nth-child(8){animation-delay:.21s}.modal-backdrop{background:var(--color-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;justify-content:center;align-items:flex-end;padding:0;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border:1px solid var(--color-border);border-bottom:none;width:100%;max-width:480px;max-height:90dvh;padding:1.75rem 1.5rem 1.5rem;animation:.35s cubic-bezier(.16,1,.3,1) slideUp;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.modal-header h2{letter-spacing:.06em;color:var(--color-primary);margin:0;font-size:1.75rem}.modal h2{letter-spacing:.06em;color:var(--color-primary);margin-bottom:1.5rem;font-size:1.75rem}.modal-header-actions{align-items:center;gap:.6rem;display:flex}.modal-action-btn{border:1px solid var(--color-danger-action-border);border-radius:var(--radius);width:38px;height:38px;min-height:38px;color:var(--color-primary);cursor:pointer;transition:all var(--transition);text-transform:none;letter-spacing:0;background:0 0;justify-content:center;align-items:center;padding:0;display:flex}.modal-action-btn svg{width:18px;height:18px}.modal-action-btn:hover{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-glow)}.modal-delete-btn{color:var(--color-danger);border-color:var(--color-danger-border-subtle)}.modal-delete-btn:hover{color:var(--color-danger);border-color:var(--color-danger);background:var(--color-danger-subtle)}.delete-confirm{color:var(--color-danger);align-items:center;gap:.4rem;font-size:.8125rem;font-weight:500;display:flex}.delete-confirm span{text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.modal-actions{gap:.5rem;margin-top:1.75rem;display:flex}.modal-actions button{flex:1}.pagination{font-size:.8125rem;font-family:var(--font-mono);color:var(--color-text-secondary);justify-content:center;align-items:center;gap:1rem;padding:1.25rem 1rem;display:flex}.pagination button{font-size:.75rem}.file-thumb-link{cursor:pointer;transition:opacity var(--transition);text-transform:none;letter-spacing:0;background:0 0;border:none;justify-content:center;align-items:center;min-height:auto;padding:0;text-decoration:none;display:inline-flex}.file-thumb-link:hover{opacity:.8}.file-thumb{object-fit:cover;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-input-bg);vertical-align:middle;width:36px;height:36px}.file-icon{border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-input-bg);vertical-align:middle;flex-direction:column;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex;position:relative}.file-icon svg{width:18px;height:18px;color:var(--color-text-secondary)}.file-ext{font-size:.5rem;font-family:var(--font-mono);text-transform:uppercase;color:var(--color-primary);letter-spacing:0;margin-top:-2px;line-height:1}.file-none{color:var(--color-text-secondary);font-size:.8125rem}.file-panels-row{border-top:1px solid var(--color-border);grid-template-columns:1fr 1fr;gap:0;margin-top:.5rem;display:grid}.file-panel{flex-direction:column;align-items:center;gap:.4rem;padding:.6rem .4rem .5rem;display:flex;position:relative}.file-panel:first-child{border-right:1px solid var(--color-border)}.file-panel-label{text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-secondary);font-size:.625rem;font-weight:700}.file-panel-preview{aspect-ratio:4/3;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-input-bg);cursor:pointer;width:100%;max-height:80px;transition:border-color var(--transition), box-shadow var(--transition);justify-content:center;align-items:center;padding:0;display:flex;position:relative;overflow:hidden}.file-panel-preview:hover{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-glow)}.file-panel-preview:hover .file-panel-hover-hint{opacity:1}.file-panel-img{object-fit:cover;width:100%;height:100%}.file-panel-icon{flex-direction:column;align-items:center;gap:2px;display:flex}.file-panel-icon svg{width:28px;height:28px;color:var(--color-text-secondary)}.file-panel-ext{font-size:.625rem;font-family:var(--font-mono);text-transform:uppercase;color:var(--color-primary);letter-spacing:0;line-height:1}.file-panel-hover-hint{opacity:0;transition:opacity var(--transition);color:#fff;background:#00000080;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.file-panel-download{text-transform:uppercase;letter-spacing:.06em;min-height:28px;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:all var(--transition);background:0 0;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.5625rem;font-weight:600;display:inline-flex}.file-panel-download:hover{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-glow)}.file-panel-empty-msg{color:var(--color-text-secondary);padding:1rem 0;font-size:.8125rem}.preview-backdrop{z-index:200;background:var(--color-overlay-heavy);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.preview-container{flex-direction:column;width:100%;height:100%;display:flex}.preview-toolbar{background:var(--color-surface-glass-strong);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:.6rem .75rem;display:flex}.preview-filename{font-family:var(--font-mono);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:50%;font-size:.75rem;overflow:hidden}.preview-toolbar-actions{gap:.4rem;display:flex}.preview-action-btn{border:1px solid var(--color-border);border-radius:var(--radius);width:36px;height:36px;min-height:36px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);text-transform:none;letter-spacing:0;background:0 0;justify-content:center;align-items:center;padding:0;display:flex}.preview-action-btn svg{width:16px;height:16px}.preview-action-btn:hover{color:var(--color-text);border-color:var(--color-border-hover);background:var(--color-surface-raised)}.preview-close-btn:hover{color:var(--color-danger);border-color:var(--color-danger);background:var(--color-danger-subtle)}.preview-body{flex:1;justify-content:center;align-items:center;min-height:0;padding:1rem;display:flex;overflow:auto}.preview-image{object-fit:contain;border-radius:var(--radius);max-width:100%;max-height:100%}.preview-pdf{border-radius:var(--radius);background:#fff;border:none;width:100%;height:100%}.card-dates{border-top:1px solid var(--color-border);font-size:.6875rem;font-family:var(--font-mono);color:var(--color-text-secondary);justify-content:space-between;gap:.5rem;margin-top:.5rem;padding-top:.5rem;display:flex}.file-link{color:var(--color-primary);font-size:.8125rem;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.04em;transition:color var(--transition);border-bottom:1px solid #0000;padding-bottom:1px;font-weight:600;text-decoration:none}.file-link:hover{color:var(--color-primary-hover);border-bottom-color:var(--color-primary-hover);text-decoration:none}.confirm-dialog{text-align:center}.confirm-dialog p{color:var(--color-text-secondary);margin-bottom:1.5rem;font-size:.9375rem;line-height:1.6}.confirm-dialog p strong{color:var(--color-text)}.pull-indicator{z-index:5;justify-content:center;align-items:center;display:flex;position:fixed;left:50%;transform:translate(-50%)}.pull-spinner{width:24px;height:24px;color:var(--color-text-secondary);transition:color .15s}.pull-spinner.pull-ready{color:var(--color-primary)}.pull-spinner.pull-loading{color:var(--color-primary);animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover)}@media (width>=768px){.bid-table{display:table}.bid-cards{display:none}.modal-backdrop{align-items:center;padding:1rem}.modal{border-radius:var(--radius-lg);border-bottom:1px solid var(--color-border)}.top-bar{flex-direction:row;align-items:center;gap:.75rem;padding:.65rem 1.5rem}:root{--top-bar-h:3.75rem}.top-bar-row{flex:1;justify-content:space-between}.top-bar .search-wrapper{max-width:360px}.fab{bottom:1.5rem;right:1.5rem}}
