:root{--bg:#fff;--surface:#fff;--surface-soft:#f8fafc;--text:#0f172a;--muted:#64748b;--line:#dbe3ef;--line-strong:#c8d3e3;--blue:#0f5eea;--blue-soft:#e8f0ff;--green:#16a36a;--green-soft:#eafaf2;--orange:#f97316;--orange-soft:#fff4e8;--gray-soft:#f1f5f9;--danger:#ef4444;--danger-soft:#fff1f1;--shadow:0 16px 45px #0f172a0f}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}svg{display:block}.page-shell{min-height:100vh}.minimal-page{background:#fff}.site-header{border-bottom:1px solid var(--line);grid-template-columns:260px minmax(320px,860px) 260px;align-items:center;gap:24px;height:124px;padding:0 36px;display:grid}.brand-mark{letter-spacing:-.05em;color:#08265f;align-items:center;gap:14px;width:max-content;font-size:38px;font-weight:800;display:inline-flex}.brand-icon{width:52px;height:52px;display:inline-flex}.brand-icon svg{width:100%;height:100%}.brand-icon-blue,.brand-icon-green{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3.5px}.brand-icon-blue{stroke:#2298ef}.brand-icon-green{stroke:#27d36f}.top-search-form{width:100%}.top-search{width:100%;position:relative}.top-search input{border:1px solid var(--line-strong);color:#172033;background:#fff;border-radius:10px;outline:none;width:100%;height:62px;padding:0 22px 0 64px;font-size:18px;box-shadow:0 6px 18px #0f172a08}.top-search input:focus{box-shadow:0 0 0 4px var(--blue-soft);border-color:#94b7ff}.search-icon{z-index:1;fill:none;stroke:#475569;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:28px;height:28px;position:absolute;top:50%;left:22px;transform:translateY(-50%)}.content-shell{width:min(100%,1710px);margin:0 auto;padding:54px 52px 72px}.page-heading-row,.admin-heading-row{justify-content:space-between;align-items:flex-start;gap:28px;margin-bottom:42px;display:flex}.page-heading-row h1,.admin-heading-row h1{letter-spacing:-.055em;color:#071024;margin:0 0 10px;font-size:clamp(34px,4vw,46px);line-height:1.05}.page-heading-row p,.admin-heading-row p{color:#53627a;margin:0;font-size:18px}.last-updated{white-space:nowrap;color:#32445f;align-items:center;gap:12px;margin-top:46px;font-size:18px;display:inline-flex}.last-updated svg{fill:none;stroke:#3b5275;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.last-updated strong{color:#0f172a}.data-table-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;overflow:hidden;box-shadow:0 8px 24px #0f172a08}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;color:#41516d;letter-spacing:.035em;text-transform:uppercase;border-bottom:1px solid var(--line);background:#fbfcfe;height:66px;padding:0 32px;font-size:15px;font-weight:800}.data-table td{color:#172033;border-bottom:1px solid var(--line);vertical-align:middle;height:72px;padding:0 32px;font-size:18px}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#f8fbff}.document-link{align-items:center;gap:20px;min-width:0;font-weight:500;display:inline-flex}.file-icon{flex:none;width:30px;height:30px;display:inline-flex}.file-icon svg{fill:none;stroke:#135add;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.table-empty{text-align:center;color:var(--muted);border-top:1px solid var(--line);background:#fff;padding:32px}.detail-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:36px 34px 34px;box-shadow:0 8px 24px #0f172a08}.detail-topline{justify-content:space-between;align-items:flex-start;gap:28px;margin-bottom:34px;display:flex}.detail-topline h2{letter-spacing:-.045em;color:#071024;margin:0;font-size:clamp(26px,3vw,34px)}.detail-grid{grid-template-columns:240px minmax(0,780px);gap:20px 42px;margin:0;display:grid}.detail-grid div{display:contents}.detail-grid dt{color:#314363;font-size:16px;font-weight:700}.detail-grid dd{color:#172033;margin:0;font-size:16px;line-height:1.55}.preview-divider{background:var(--line);height:1px;margin:32px 0 18px}.pdf-frame{border:1px solid var(--line);background:#f8fafc;border-radius:8px;width:100%;height:720px}.outline-action,.primary-action,.ghost-action,.danger-action,.icon-button{border:0;border-radius:8px;justify-content:center;align-items:center;gap:10px;font-weight:800;line-height:1;display:inline-flex}.outline-action{color:#0f5eea;background:#fff;border:1px solid #0f5eea;min-height:48px;padding:0 22px}.outline-action svg,.primary-action svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.outline-action.strong{min-width:290px;font-size:18px}.outline-action.compact{border-color:#87afff;min-height:38px;padding:0 12px;font-size:14px}.outline-action.danger{color:var(--danger);border-color:var(--danger)}.primary-action{color:#fff;background:var(--blue);min-height:48px;padding:0 20px;box-shadow:0 10px 22px #0f5eea38}.primary-action.large{min-height:58px;padding:0 26px;font-size:17px}.ghost-action{color:#334155;border:1px solid var(--line-strong);background:#fff;min-height:46px;padding:0 18px}.danger-action{color:#fff;background:var(--danger);min-height:46px;padding:0 18px}.headline-with-badge{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.headline-with-badge span{color:#0f5eea;background:#f4f8ff;border:1px solid #b7cdfa;border-radius:8px;padding:6px 13px;font-size:16px;font-weight:800}.admin-heading-actions{justify-items:end;gap:26px;display:grid}.admin-date{margin-top:0}.admin-table th,.admin-table td{font-size:15px}.admin-table th:first-child,.admin-table td:first-child{width:32%}.admin-table th:last-child,.admin-table td:last-child{width:320px}.row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.status-badge{border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;min-height:34px;padding:0 12px;font-size:14px;font-weight:800;display:inline-flex}.status-badge:before{content:"";background:currentColor;border-radius:99px;width:7px;height:7px}.status-badge.active{color:#138557;background:var(--green-soft);border-color:#bce9d2}.status-badge.draft{color:var(--orange);background:var(--orange-soft);border-color:#fed7aa}.status-badge.archived{color:#64748b;background:var(--gray-soft);border-color:#d8e0ec}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a61;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--line);background:#fff;border-radius:18px;width:min(760px,100%);max-height:calc(100vh - 48px);padding:26px;overflow:auto;box-shadow:0 30px 80px #0f172a40}.modal-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.modal-head h2{letter-spacing:-.045em;margin:4px 0 0;font-size:28px}.modal-kicker{color:var(--blue);text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:900}.icon-button{color:#334155;border:1px solid var(--line-strong);background:#fff;flex:none;width:42px;height:42px}.icon-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:22px;height:22px}.modal-form{gap:22px;display:grid}.modal-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.modal-form-grid.single{grid-template-columns:1fr}.two-col{grid-column:1/-1}.field{gap:7px;display:grid}.field label{color:#30425e;font-size:14px;font-weight:800}.input,.select,.textarea{border:1px solid var(--line-strong);width:100%;color:var(--text);background:#fff;border-radius:8px;outline:none;padding:12px 13px}.input:focus,.select:focus,.textarea:focus{box-shadow:0 0 0 4px var(--blue-soft);border-color:#94b7ff}.textarea{resize:vertical;min-height:96px}.modal-copy{color:#334155;margin:0;line-height:1.55}.danger-box{background:var(--danger-soft);color:#991b1b;border:1px solid #fecaca;border-radius:10px;padding:14px 16px;font-weight:700}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.login-shell{background:#f8fafc;place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{border:1px solid var(--line);width:min(440px,100%);box-shadow:var(--shadow);background:#fff;border-radius:18px;padding:28px}.login-card h1{letter-spacing:-.05em;margin:0 0 12px;font-size:34px}.notice{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:12px 14px;font-size:14px}.form-grid{gap:14px;display:grid}.btn{background:var(--blue);color:#fff;border:0;border-radius:8px;justify-content:center;align-items:center;padding:11px 14px;font-weight:800;display:inline-flex}.btn.secondary{color:var(--text);border:1px solid var(--line-strong);background:#fff}.btn.full{width:100%}@media (max-width:1180px){.site-header{grid-template-columns:230px 1fr;padding:0 24px}.content-shell{padding:42px 24px 64px}.page-heading-row,.admin-heading-row,.detail-topline{flex-direction:column}.last-updated{margin-top:0}.admin-heading-actions{justify-items:start}.data-table-card{overflow-x:auto}.data-table{min-width:900px}.admin-table{min-width:1280px}}@media (max-width:760px){.site-header{grid-template-columns:1fr;gap:18px;height:auto;padding:20px}.brand-mark{font-size:32px}.top-search input{height:56px;font-size:16px}.content-shell{padding:32px 18px 54px}.detail-grid{grid-template-columns:1fr;gap:8px}.detail-grid dt{margin-top:12px}.outline-action.strong{width:100%;min-width:0}.pdf-frame{height:560px}.modal-form-grid{grid-template-columns:1fr}}.site-header{grid-template-columns:260px minmax(320px,860px) 260px}.brand-mark{gap:0}.public-table th:first-child,.public-table td:first-child{width:70%}.public-table th:last-child,.public-table td:last-child{width:30%}.danger-notice{color:#991b1b;background:#fff1f1;border-color:#fecaca;margin-bottom:18px}button:disabled{cursor:not-allowed;opacity:.68}@media (max-width:1180px){.site-header{grid-template-columns:230px 1fr}}.clickable-row{cursor:pointer;transition:background .14s,box-shadow .14s}.clickable-row:focus-visible{outline-offset:-3px;background:#f8fbff;outline:3px solid #94b7ff}.clickable-row:hover .document-link{color:var(--blue)}
