:root{--color-bg-base: #0a0a0c;--color-bg-surface: rgba(20, 20, 25, .6);--color-bg-surface-hover: rgba(30, 30, 40, .8);--color-border: rgba(255, 255, 255, .08);--color-border-glow: rgba(138, 43, 226, .3);--color-text-main: #f0f0f5;--color-text-muted: #9494a0;--color-primary: #8a2be2;--color-primary-hover: #9d4edd;--color-secondary: rgba(255, 255, 255, .05);--color-secondary-hover: rgba(255, 255, 255, .1);--color-danger: #ef4444;--shadow-glass: 0 8px 32px 0 rgba(0, 0, 0, .37);--border-radius-lg: 16px;--border-radius-md: 12px;--border-radius-sm: 8px;--transition-fast: .2s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--color-bg-base);color:var(--color-text-main);min-height:100vh;font-size:14px;line-height:1.5}.hidden{display:none!important}.view{min-height:100vh}.glass-container{background:var(--color-bg-surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-glass);padding:1.5rem}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1.5rem;background:radial-gradient(ellipse at 20% 20%,rgba(138,43,226,.12) 0%,transparent 60%),radial-gradient(ellipse at 80% 80%,rgba(79,172,254,.08) 0%,transparent 60%),var(--color-bg-base)}.auth-card{width:100%;max-width:420px;display:flex;flex-direction:column;gap:1.5rem}.auth-logo{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}.logo-mark{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;background:linear-gradient(135deg,var(--color-primary),#4facfe);border-radius:var(--border-radius-md);font-size:1rem;font-weight:700;color:#fff;letter-spacing:.05em}.auth-logo h1{font-size:1.4rem;font-weight:600}.subtitle{color:var(--color-text-muted);font-size:.875rem}.auth-footer{text-align:center;color:var(--color-text-muted);font-size:.8rem}.input-group{display:flex;flex-direction:column;gap:.4rem}.input-group label{font-size:.8rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}input[type=email],input[type=password],input[type=text],input[type=number],input[type=month],select,textarea{width:100%;padding:.65rem .85rem;background:#0003;border:1px solid var(--color-border);border-radius:var(--border-radius-sm);color:var(--color-text-main);font-size:.9rem;font-family:inherit;transition:border-color var(--transition-fast);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--color-border-glow);box-shadow:0 0 0 3px #8a2be21f}select option{background:#1a1a22}input[readonly]{color:var(--color-text-muted);cursor:default}button{cursor:pointer;font-family:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem 1.2rem;border-radius:var(--border-radius-sm);font-size:.875rem;font-weight:500;border:none;transition:all var(--transition-fast);white-space:nowrap}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 0 20px #8a2be24d}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{background:var(--color-secondary);color:var(--color-text-main);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-secondary-hover)}.btn-ghost{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border)}.btn-ghost:hover{background:var(--color-secondary-hover);color:var(--color-text-main)}.btn-danger{background:#ef44441a;color:var(--color-danger);border:1px solid rgba(239,68,68,.2)}.btn-danger:hover{background:#ef444433}.btn-sm{padding:.35rem .75rem;font-size:.8rem}.w-full{width:100%}.alert{padding:.75rem 1rem;border-radius:var(--border-radius-sm);font-size:.85rem;line-height:1.4}.alert-error{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#fca5a5}.alert-warning{background:#eab3081a;border:1px solid rgba(234,179,8,.2);color:#fde68a}.alert-info{background:#8a2be21a;border:1px solid rgba(138,43,226,.25);color:#c4b5fd}.alert-success{background:#22c55e1a;border:1px solid rgba(34,197,94,.2);color:#86efac}.status-msg{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#8a2be214;border:1px solid rgba(138,43,226,.2);border-radius:var(--border-radius-sm);color:#c4b5fd;font-size:.85rem}.spinner{width:16px;height:16px;border:2px solid rgba(138,43,226,.3);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.top-nav{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:#0a0a0ccc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.nav-brand{display:flex;align-items:center;gap:.65rem}.logo-mark-sm{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,var(--color-primary),#4facfe);border-radius:6px;font-size:.7rem;font-weight:700;color:#fff}.nav-title{font-size:.95rem;font-weight:600}.nav-right{display:flex;align-items:center;gap:.75rem}.nav-company{font-size:.8rem;color:var(--color-text-muted)}.portal-main{max-width:1100px;margin:0 auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.tab-bar{display:flex;gap:.5rem;border-bottom:1px solid var(--color-border);padding-bottom:0}.tab-btn{padding:.6rem 1.25rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-muted);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);margin-bottom:-1px}.tab-btn:hover{color:var(--color-text-main)}.tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-content{display:none;flex-direction:column;gap:1.25rem}.tab-content.active{display:flex}.form-section{display:flex;flex-direction:column;gap:1rem}.section-header{display:flex;align-items:center;justify-content:space-between}.section-title{font-size:1rem;font-weight:600}.optional-tag{font-size:.75rem;font-weight:400;color:var(--color-text-muted)}.form-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem}@media(max-width:640px){.form-row{grid-template-columns:1fr}}.table-wrapper{overflow-x:auto;border-radius:var(--border-radius-sm);border:1px solid var(--color-border)}.claim-table{width:100%;border-collapse:collapse;font-size:.8rem;min-width:900px}.claim-table thead{background:#ffffff08}.claim-table th{padding:.6rem .75rem;text-align:left;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);white-space:nowrap;border-bottom:1px solid var(--color-border)}.claim-table th.col-num,.claim-table td.col-num{text-align:right}.claim-table th.col-pct,.claim-table td.col-pct{text-align:center}.claim-table td{padding:.4rem .5rem;border-bottom:1px solid rgba(255,255,255,.04);vertical-align:middle}.claim-table tbody tr:hover td{background:#ffffff05}.claim-table td input,.claim-table td select{padding:.35rem .5rem;font-size:.8rem;background:#0000004d;border-color:#ffffff0f}.claim-table td.muted{color:var(--color-text-muted);text-align:center}.claim-table td.amount{text-align:right;font-variant-numeric:tabular-nums}.claim-table td.computed{text-align:right;font-weight:500;color:#c4b5fd}.col-trade{width:140px}.col-desc{min-width:180px}.col-num{width:130px}.col-pct{width:100px}.col-remarks{min-width:120px}.col-action{width:40px}.hint-text{font-size:.78rem;color:var(--color-text-muted);text-align:center;padding:.5rem 0}.totals-grid{display:flex;flex-direction:column;gap:.4rem;max-width:380px;margin-left:auto}.total-row{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0}.total-row+.total-row{border-top:1px solid var(--color-border)}.total-label{color:var(--color-text-muted);font-size:.85rem}.total-value{font-variant-numeric:tabular-nums;font-size:.9rem;font-weight:500}.total-value.retention{color:#fca5a5}.net-row{border-top:2px solid var(--color-border)!important;margin-top:.25rem;padding-top:.6rem}.net-row .total-label{font-weight:600;color:var(--color-text-main)}.net-row .total-value{font-size:1.05rem;font-weight:700;color:#86efac}.drop-zone{border:2px dashed rgba(255,255,255,.12);border-radius:var(--border-radius-md);padding:2rem;text-align:center;cursor:pointer;transition:all var(--transition-fast)}.drop-zone:hover,.drop-zone.dragover{border-color:var(--color-primary);background:#8a2be20d}.drop-zone-inner{pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:.4rem}.drop-icon{font-size:1.5rem;opacity:.5}.file-browse-link{color:var(--color-primary);cursor:pointer;text-decoration:underline;pointer-events:all}.attach-list{list-style:none;display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem}.attach-item{display:flex;align-items:center;justify-content:space-between;padding:.4rem .75rem;background:#ffffff0a;border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:.82rem}.attach-item-name{color:var(--color-text-main)}.attach-item-size{color:var(--color-text-muted);font-size:.75rem;margin-left:.5rem}.form-actions{display:flex;gap:.75rem;justify-content:flex-end}.claims-list-table{width:100%;border-collapse:collapse;font-size:.85rem}.claims-list-table th{padding:.65rem 1rem;text-align:left;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);background:#ffffff05}.claims-list-table td{padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.04)}.claims-list-table tbody tr:hover td{background:#ffffff05}.claim-actions-cell{display:flex;gap:.4rem;flex-wrap:wrap}.badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.72rem;font-weight:600;white-space:nowrap}.badge-gray{background:#9494a026;color:#9494a0}.badge-blue{background:#60a5fa26;color:#93c5fd}.badge-green{background:#22c55e26;color:#86efac}.badge-red{background:#ef444426;color:#fca5a5}.badge-orange{background:#fb923c26;color:#fdba74}.badge-teal{background:#2dd4bf26;color:#5eead4}.loading-state,.empty-state{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:3rem 1rem;color:var(--color-text-muted);font-size:.875rem}
