:root{color:#1e2528;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f6f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}.shell{place-items:start center;min-height:100vh;padding:32px;display:grid}.panel,.workspace{background:#fff;border:1px solid #cfd8dc;border-radius:8px;width:min(1120px,100%);padding:32px;box-shadow:0 14px 38px #25333a1a}.auth-panel{width:min(680px,100%);margin-top:12vh}.eyebrow{color:#607d8b;letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:700}h1{margin:0 0 12px;font-size:2rem;line-height:1.15}p{color:#42535a;margin:0;line-height:1.6}button{color:#1e2528;cursor:pointer;font:inherit;background:#fff;border:1px solid #b9c8ce;border-radius:6px}button:hover{border-color:#607d8b}.auth-panel button,.topbar button{padding:9px 14px}.auth-panel button{margin-top:18px}.topbar{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0 0;display:grid}.facts div{border:1px solid #dce4e8;border-radius:6px;min-width:0;padding:14px}.facts dt{color:#607d8b;margin:0 0 4px;font-size:.78rem;font-weight:700}.facts dd{overflow-wrap:anywhere;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.status{margin-top:24px}.error{color:#a52714}.entries{margin-top:24px}.list-header{justify-content:space-between;align-items:center;gap:16px;display:flex}h2{margin:0;font-size:1.05rem}.list-header span{color:#607d8b;font-size:.9rem;font-weight:700}.filters{background:#f8fafb;border:1px solid #dce4e8;border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:14px;margin-top:16px;padding:16px;display:flex}.filters label{gap:4px;min-width:0;display:grid}.filters label>span{color:#607d8b;font-size:.78rem;font-weight:700}.filters input,.filters select{font:inherit;color:#1e2528;background:#fff;border:1px solid #b9c8ce;border-radius:6px;padding:8px 10px}.filters .checkbox{grid-auto-flow:column;align-items:center;gap:8px}.filters .checkbox>span{color:#1e2528;font-size:.95rem;font-weight:400}.filters .checkbox input{width:18px;height:18px}.table-scroll{border:1px solid #dce4e8;border-radius:8px;margin-top:20px;overflow-x:auto}.entries-table,.budgets-table{border-collapse:collapse;width:100%;font-size:.92rem}.entries-table th,.entries-table td,.budgets-table th,.budgets-table td{text-align:left;vertical-align:top;border-bottom:1px solid #edf2f4;padding:11px 14px}.entries-table thead th,.budgets-table thead th{color:#607d8b;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;background:#f4f6f7;font-size:.76rem;font-weight:700;position:sticky;top:0}.entries-table tbody tr:last-child td,.budgets-table tbody tr:last-child td{border-bottom:0}.entries-table .num,.budgets-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.entries-table td:nth-child(5){max-width:320px}.badge{white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:.76rem;font-weight:700;display:inline-block}.badge+.badge{margin-left:6px}.badge-open{color:#1f6b34;background:#e3f2e6}.badge-cleared{color:#245089;background:#e6eef7}.badge-done{color:#455a64;background:#eceff1}.badge-dontclear{color:#a52714;background:#fbe9e7}.entries-table td a,.budgets-table td a,.back-link,.ticket-link a{color:#245089;font-weight:600;text-decoration:none}.entries-table td a:hover,.back-link:hover,.ticket-link a:hover{text-decoration:underline}.entry-detail{margin-top:24px}.entry-detail .detail-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin:20px 0;display:grid}.entry-detail dt{color:#607d8b;text-transform:uppercase;letter-spacing:.02em;font-size:.76rem;font-weight:700}.entry-detail dd{overflow-wrap:anywhere;margin:4px 0 0}.entry-detail h3{color:#37474f;margin:20px 0 6px;font-size:.9rem}.entry-text{white-space:pre-wrap;margin:0}.ticket-link{margin:16px 0}.hints{gap:8px;margin:20px 0 0;padding:0;list-style:none;display:grid}.hints li{background:#f4f6f7;border-left:3px solid #607d8b;padding:10px 12px}.hints strong{text-transform:uppercase;margin-right:8px;font-size:.72rem}.hint-error{background:#fbe9e7;border-left-color:#a52714}.hint-warning{background:#fff8ec;border-left-color:#b86800}.hint-info{background:#e6eef7;border-left-color:#245089}@media (width<=560px){.shell{padding:16px}.panel,.workspace{padding:24px}.facts{grid-template-columns:1fr}.topbar{grid-template-columns:1fr;display:grid}.filters label{flex:100%}}.sections{gap:14px;margin:18px 0 4px;display:flex}.sections a{color:#245089;font-weight:600;text-decoration:none}.badge-preview{color:#1f6b34;background:#e3f2e6}.badge-review{color:#455a64;background:#eceff1}.badge-failing{color:#a52714;background:#fbe9e7}.budgets-table tr.budget-failing{background:#fff5f4}.progress{flex-direction:column;gap:4px;min-width:160px;display:flex}.progress-track{background:#eceff1;border-radius:999px;height:8px;display:block;overflow:hidden}.progress-fill{background:#245089;height:100%;display:block}.progress-label{font-variant-numeric:tabular-nums}.progress-uncomputed{color:#607d8b;font-style:italic}.budget-failing-note{margin:12px 0 0}.action-link{color:#245089;margin-left:auto;font-size:.9rem;font-weight:700;text-decoration:none}.action-link:hover,.action-link:focus-visible{text-decoration:underline}.budget-form form{margin-top:16px}.owner-choice{background:#f8fafb;border:1px solid #dce4e8;border-radius:8px;align-items:center;gap:20px;padding:12px 16px;display:flex}.owner-choice legend{color:#607d8b;font-size:.78rem;font-weight:700}.owner-choice .checkbox{align-items:center;gap:8px;display:flex}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:16px;display:grid}.form-field label{gap:4px;display:grid}.form-field label>span{color:#607d8b;font-size:.78rem;font-weight:700}.form-field input,.form-field select{font:inherit;color:#1e2528;background:#fff;border:1px solid #b9c8ce;border-radius:6px;width:100%;padding:8px 10px}.field-error{color:#a3242b;margin-top:4px;font-size:.82rem;display:block}.form-actions{margin-top:20px}.save-rejection{margin-top:16px}.field-error-list{color:#a3242b;margin:8px 0 0;padding-left:20px;font-size:.88rem}.conflicts{margin:8px 0 0;font-size:.9rem}.computed-fields{border-top:1px solid #dce4e8;margin-top:24px;padding-top:16px}.computed-fields h3{margin:0 0 12px;font-size:.95rem}.lock-conflict{background:#fdf8ea;border:1px solid #d8c48a;border-radius:8px;margin-top:16px;padding:12px 16px}.lock-conflict .status{margin:0 0 10px}.list-header .action-link+.action-link{margin-left:8px}.form-field textarea{font:inherit;color:#1e2528;resize:vertical;background:#fff;border:1px solid #b9c8ce;border-radius:6px;width:100%;padding:8px 10px}.series-progress{border-top:0;margin-top:0;margin-bottom:20px;padding-top:0}.series-progress-note{color:#607d8b;margin:8px 0 0;font-size:.88rem}.execution-report{border:1px solid #dce4e8;border-radius:8px;margin-top:24px;padding:16px}.execution-report.has-errors{border-color:#a3242b}.execution-report h3{margin:0 0 12px;font-size:.95rem}.report-summary{background:#f1f5f7;border-radius:6px;margin:0 0 12px;padding:10px 12px}.report-summary-ok{color:#1c5a2b;background:#e4f3e7}.report-summary-error{color:#a3242b;background:#fbe9ea;font-weight:700}.report-series{gap:12px;margin:0;padding:0;list-style:none;display:grid}.report-entry{border:1px solid #dce4e8;border-left-width:4px;border-radius:6px;padding:12px}.report-entry-created{border-left-color:#2e7d32}.report-entry-skipped{border-left-color:#90a4ae}.report-entry-error{background:#fdf5f5;border-left-color:#a3242b}.report-entry-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.report-entry-name{color:#607d8b;font-size:.9rem}.badge-series-created{color:#1c5a2b;background:#e4f3e7}.badge-series-skipped{color:#455a64;background:#eceff1}.badge-series-error{color:#fff;background:#a3242b}.report-reason,.report-executed-until{margin:8px 0 0;font-size:.9rem}.report-periods{margin-top:10px}button.danger{color:#fff;background:#a3242b;border-color:#a3242b}.entry-form{margin-top:24px}.entry-form form{margin-top:16px}.entry-fields{border:0;min-width:0;margin:0;padding:0}.form-field.wide{grid-column:1/-1}.form-field{min-width:0}.field-hint{color:#607d8b;margin-top:4px;font-size:.82rem;line-height:1.4;display:block}.input-with-action{gap:8px;display:flex}.input-with-action input{flex:auto;min-width:0}.entry-form button{padding:8px 14px}.entry-form button:disabled{cursor:default;opacity:.6}.entry-form button.primary{color:#fff;background:#245089;border-color:#245089}.checkbox-row{flex-wrap:wrap;gap:10px 24px;display:flex}.checkbox-row .checkbox{align-items:center;gap:8px;display:flex}.checkbox-row .checkbox input{width:18px;height:18px}.checkbox-row .checkbox>span{color:#1e2528;font-size:.95rem;font-weight:400}.project-picker{gap:4px;display:grid}.project-picker select{margin-bottom:2px}.entry-form .form-actions{flex-wrap:wrap;gap:12px;display:flex}.entry-form .form-actions-hint{align-self:center;margin-top:0}.save-feedback:focus{outline:none}.entry-fields input:disabled,.entry-fields textarea:disabled,.entry-fields select:disabled{color:#5b6b73;cursor:not-allowed;-webkit-text-fill-color:#5b6b73;opacity:1;background:#e9eef0;border-style:dashed}.entry-fields:disabled label>span,.entry-fields:disabled .checkbox>span,.entry-fields:disabled .field-hint{color:#7d8b92}.entry-fields:disabled .input-with-action button{display:none}.locked-note{color:#245089;background:#e6eef7;border:1px solid #b9c8ce;border-radius:8px;padding:12px 16px;font-weight:600}.api-message{margin-top:6px;font-size:.9rem}.saved-entry{border-top:1px solid #dce4e8;margin-top:24px;padding-top:16px}.saved-note{color:#1c5a2b;margin-top:0;font-weight:600}.saved-entry h3{margin:12px 0 0;font-size:.95rem}.saved-entry h4{color:#37474f;margin:16px 0 4px;font-size:.85rem}.saved-entry .detail-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin:20px 0;display:grid}.saved-entry dt{color:#607d8b;text-transform:uppercase;letter-spacing:.02em;font-size:.76rem;font-weight:700}.saved-entry dd{overflow-wrap:anywhere;margin:4px 0 0}.saved-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:20px;display:flex}.saved-actions a{color:#245089;font-weight:600;text-decoration:none}.saved-actions a:hover{text-decoration:underline}.panel,.workspace{min-width:0}@media (width<=560px){.list-header{flex-wrap:wrap}.form-grid{grid-template-columns:1fr}}
