
:root{
  --bg:#f5f1ee;--card:#fff;--ink:#2f2927;--muted:#7d716c;--line:#ddd4cf;
  --accent:#6f625d;--accent2:#e8dfdb;--danger:#a54242;--ok:#436b4d;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.app-header{display:flex;justify-content:space-between;align-items:center;padding:18px 18px 10px;max-width:1180px;margin:auto}
h1{margin:0;font-size:24px}.app-header p{margin:4px 0 0;color:var(--muted);font-size:13px}
main{max-width:1180px;margin:auto;padding:10px 16px 40px}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 8px 26px rgba(60,40,30,.05)}
.login-card{max-width:420px;margin:50px auto}
h2{margin:0 0 6px;font-size:19px}
label{display:block;font-size:13px;font-weight:600;margin:14px 0}
input,select{width:100%;margin-top:6px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff;font-size:16px}
button{border:0;border-radius:11px;padding:11px 14px;font-weight:700;font-size:14px;cursor:pointer}
.primary{background:var(--accent);color:white}.ghost{background:var(--accent2);color:var(--ink)}
.big{width:100%;padding:15px;font-size:17px;margin-top:12px}
.hidden{display:none!important}.muted{color:var(--muted);font-size:13px;margin:0}
.tabs{display:flex;gap:8px;overflow:auto;padding:2px 0 12px}.tab{white-space:nowrap;background:#e9e1dd;color:#4b403c}.tab.active{background:var(--accent);color:#fff}
.panel{display:none}.panel.active{display:block}
.checkbox{display:flex;gap:10px;align-items:center;background:#faf7f5;border:1px solid var(--line);border-radius:11px;padding:11px;margin:9px 0}
.checkbox input{width:20px;height:20px;margin:0}
.identity-row,.section-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:18px}
.identity-row div{display:flex;flex-direction:column;gap:3px}
.status{margin-top:10px;font-size:13px}.status.ok{color:var(--ok)}.status.err{color:var(--danger)}
.list{display:grid;gap:9px}.entry{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fcfaf9}
.entry strong{display:block;margin-bottom:3px}.entry .meta{font-size:12px;color:var(--muted)}
.filters{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.table-wrap{overflow:auto;margin-top:14px}
table{width:100%;border-collapse:collapse;min-width:760px;font-size:12px}
th,td{border-bottom:1px solid var(--line);padding:8px;text-align:left;white-space:nowrap}
th{background:#f4efec;position:sticky;top:0}
.badge{display:inline-block;padding:3px 7px;border-radius:999px;background:#eee6e2;font-size:11px}
@media(max-width:650px){
  .filters{grid-template-columns:1fr}.app-header{align-items:flex-start}.identity-row{align-items:flex-start}
}

.divider{border:0;border-top:1px solid var(--line);margin:26px 0}
.tech-list{margin-top:14px}
.mini{padding:6px 9px;border-radius:8px;background:var(--accent2);color:var(--ink)}
.danger{background:#a54242;color:#fff}
.modal{position:fixed;inset:0;background:rgba(30,24,22,.45);display:flex;align-items:center;justify-content:center;padding:18px;z-index:50}
.modal-card{background:#fff;border-radius:18px;padding:18px;width:min(620px,100%);max-height:92vh;overflow:auto;box-shadow:0 18px 50px rgba(0,0,0,.22)}
.modal-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px}

/* TDLR-style record viewer */
.records-card{max-width:none;width:100%}
.tdlr-records{margin-top:16px;display:grid;gap:24px}
.tdlr-sheet{background:#fff;color:#111;border:1px solid #bbb;padding:18px;font-family:Arial,Helvetica,sans-serif;overflow-x:auto;overflow-y:hidden}
.tdlr-agency,.tdlr-program,.tdlr-title,.tdlr-info,.tdlr-form,.tdlr-footer,.digital-note{min-width:1040px}
.tdlr-agency{text-align:center;font-weight:900;font-size:24px;letter-spacing:-.4px;margin:2px 0 16px}
.tdlr-program{text-align:center;font-weight:900;font-size:20px;margin-bottom:14px}
.tdlr-title{background:#181818;color:#fff;text-align:center;font-weight:900;font-size:14px;padding:5px 8px}
.tdlr-title span{font-size:10px;font-weight:500}
.tdlr-info{width:1040px;border-collapse:collapse}.tdlr-form{width:auto;min-width:1040px;border-collapse:collapse}
.tdlr-info{table-layout:auto}
.tdlr-info th,.tdlr-info td{border:1px solid #222;padding:5px 7px;font-size:12px;text-align:left;white-space:normal;vertical-align:middle}
.tdlr-info th{background:#fff;font-weight:700;position:static;width:23%}
.tdlr-info td{font-weight:600;width:27%}
.tdlr-form{margin-top:8px;table-layout:fixed}
.tdlr-form th,.tdlr-form td{border:1px solid #222;padding:5px 5px;text-align:center;white-space:normal;height:34px;font-size:13px;background:#fff;position:static;overflow-wrap:normal;word-break:normal}
.tdlr-form thead th{font-weight:800;line-height:1.15;vertical-align:middle}
.tdlr-form thead .group th{height:52px;font-size:14px}
.tdlr-form thead .group span{font-size:10px;font-weight:400}
.tdlr-form small{font-weight:400;font-size:10px;line-height:1.15}
.tdlr-form tbody th{font-size:13px;text-align:left}
.tdlr-form tbody td:nth-child(4){text-align:left;padding-left:7px}
.tdlr-x{font-size:18px;line-height:1}
.record-row{cursor:pointer}.record-row:hover td,.record-row:hover th{background:#f6f6f6}
.tdlr-footer{width:1040px;display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-top:14px;font-size:9px}
.tdlr-footer strong{font-size:10px;color:#c22;text-align:right;font-weight:500}
.digital-note{width:1040px;font-size:10px;color:#777;margin-top:8px;text-align:right}
@media(max-width:650px){.tdlr-sheet{padding:10px}.tdlr-agency{font-size:17px}.tdlr-program{font-size:15px}}
@media print{
  body{background:#fff}.app-header,.tabs,.no-print,#loginView,#new,#today,#settings{display:none!important}
  main{max-width:none;padding:0}.card{border:0;box-shadow:none;padding:0}.panel{display:block!important}
  .tdlr-records{display:block}.tdlr-sheet{border:0;padding:0;margin:0;page-break-after:always;overflow:visible}
  .tdlr-sheet:last-child{page-break-after:auto}.record-row:hover td,.record-row:hover th{background:#fff}
  .tdlr-agency,.tdlr-program,.tdlr-title,.tdlr-info,.tdlr-form,.tdlr-footer{min-width:0;width:100%}
  .tdlr-form th,.tdlr-form td{font-size:10.5px;padding:3px}.tdlr-form thead .group th{font-size:12px}
  @page{size:landscape;margin:.35in}
}
.record-actions{display:flex;gap:8px;flex-wrap:wrap}

.record-load-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.resize-hint{font-size:12px;color:#756d68}.tdlr-form thead tr:last-child th{position:relative}.col-resizer{position:absolute;right:-5px;top:0;width:10px;height:100%;cursor:col-resize;z-index:5;user-select:none}.col-resizer:hover{background:rgba(0,0,0,.08)}
