
:root{
  --bg:#fffaf1;
  --bg2:#fffdf8;
  --ink:#17202b;
  --muted:#667180;
  --line:#eadfc9;
  --gold:#d99b22;
  --gold2:#f7d889;
  --navy:#10243f;
  --navy2:#1f4777;
  --card:#ffffff;
  --soft:#fff4d8;
  --green:#4d765f;
  --shadow:0 20px 60px rgba(16,36,63,.10);
  --radius:24px;
  --max:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 14% 0%, #fff0bd 0, rgba(255,240,189,.42) 26%, transparent 46%),linear-gradient(180deg,var(--bg2),var(--bg));color:var(--ink);line-height:1.66}
a{color:var(--navy);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}.topbar{position:sticky;top:0;z-index:20;background:rgba(255,253,248,.90);backdrop-filter:blur(16px);border-bottom:1px solid rgba(234,223,202,.88)}.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:70px}.brand{display:flex;align-items:center;gap:12px;font-weight:850;letter-spacing:.02em;color:var(--navy)}.sunmark{width:36px;height:36px;border-radius:50%;background:radial-gradient(circle,#fff4bd 0,#f5b83b 48%,#d78d18 100%);box-shadow:0 0 0 8px rgba(217,155,34,.12)}.navlinks{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.navlinks a,.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:10px 15px;border:1px solid var(--line);background:#fff;color:var(--navy);font-weight:750;font-size:.92rem}.button.primary{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;border-color:transparent;box-shadow:0 12px 30px rgba(16,36,63,.18)}.button.gold{background:linear-gradient(135deg,#ffd87c,#dda02f);color:#2d2108;border-color:transparent}.hero{padding:72px 0 44px}.eyebrow{display:inline-flex;gap:9px;align-items:center;border:1px solid var(--line);background:rgba(255,255,255,.72);padding:8px 13px;border-radius:999px;color:var(--green);font-weight:850;font-size:.88rem}.hero h1{font-size:clamp(2.35rem,5.6vw,5.2rem);line-height:1.04;margin:22px 0 20px;letter-spacing:-.06em;color:var(--navy);max-width:980px}.lead{font-size:clamp(1.06rem,2vw,1.26rem);color:#43505e;max-width:850px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:38px}.stat{background:rgba(255,255,255,.78);border:1px solid var(--line);border-radius:18px;padding:18px}.stat strong{display:block;color:var(--navy);font-size:1.22rem}.stat span{font-size:.9rem;color:var(--muted)}section{padding:36px 0}.section-head{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:18px}.section-head h2{font-size:clamp(1.7rem,3vw,2.55rem);line-height:1.12;margin:0;color:var(--navy);letter-spacing:-.035em}.section-head p{max-width:650px;color:var(--muted);margin:0}.doc-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.doc-card{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 12px 34px rgba(16,36,63,.06)}.doc-no{flex:0 0 auto;width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,#fff1c2,#f3b843);display:flex;align-items:center;justify-content:center;font-weight:900;color:#4a3300}.doc-card h3{margin:0 0 4px;color:var(--navy);font-size:1.07rem;line-height:1.25}.doc-card p{margin:0 0 12px;color:var(--muted);font-size:.94rem}.tag{display:inline-flex;border-radius:999px;background:#f4f7f1;color:#43634c;padding:4px 9px;font-size:.78rem;font-weight:850;margin-bottom:9px}.doc-actions{display:flex;gap:9px;flex-wrap:wrap}.small-link{font-size:.86rem;font-weight:800;color:#5b450b}.panel{background:linear-gradient(135deg,#10243f,#1d4d7a);color:#fff;border-radius:28px;padding:34px;box-shadow:var(--shadow)}.panel h2{margin:0 0 8px;font-size:2rem}.panel p{color:rgba(255,255,255,.78);max-width:820px}.login-card{max-width:520px;margin:80px auto;background:#fff;border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:var(--shadow)}label{display:block;font-weight:800;margin-bottom:8px;color:var(--navy)}input[type=password]{width:100%;padding:14px 16px;border-radius:14px;border:1px solid var(--line);font-size:1rem}button{cursor:pointer;font:inherit}.error{display:none;color:#9b1c1c;background:#fff0f0;border:1px solid #f1c0c0;padding:10px 12px;border-radius:12px;margin-top:14px}.note{font-size:.9rem;color:var(--muted)}.footer{padding:36px 0;color:var(--muted);font-size:.9rem;border-top:1px solid var(--line);margin-top:46px}.article-shell{max-width:980px;margin:0 auto;padding:42px 24px}.article-head{background:linear-gradient(135deg,#fff,#fff7dd);border:1px solid var(--line);border-radius:28px;padding:34px;margin-bottom:28px;box-shadow:0 14px 42px rgba(16,36,63,.06)}.article-head h1{margin:8px 0 10px;color:var(--navy);letter-spacing:-.04em;line-height:1.08;font-size:clamp(2rem,4vw,3.4rem)}.article-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.pill{display:inline-flex;border-radius:999px;padding:6px 11px;border:1px solid var(--line);background:#fff;color:#58616f;font-size:.84rem;font-weight:800}.article{background:#fff;border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:0 16px 50px rgba(16,36,63,.06)}.article h1,.article h2,.article h3,.article h4{color:var(--navy);line-height:1.22}.article h1{font-size:2.05rem}.article h2{font-size:1.6rem;margin-top:2em;border-top:1px solid var(--line);padding-top:1.1em}.article h3{font-size:1.22rem;margin-top:1.5em}.article p,.article li{color:#37424f}.article ul,.article ol{padding-left:1.35rem}.article table{width:100%;border-collapse:collapse;margin:18px 0;display:block;overflow-x:auto}.article th,.article td{border:1px solid var(--line);padding:10px 12px;vertical-align:top}.article th{background:#fff6dc;color:var(--navy);text-align:left}.article blockquote{border-left:4px solid var(--gold);padding:10px 18px;background:#fff9e8;border-radius:0 14px 14px 0;color:#394656}.article code{background:#f7f2e8;border:1px solid #ece1ce;border-radius:6px;padding:1px 5px}.article pre{background:#12233d;color:#fff;border-radius:18px;padding:18px;overflow:auto}.backline{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:20px 0}.toc{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;margin-bottom:20px}.toc strong{display:block;color:var(--navy);margin-bottom:8px}.toc a{display:inline-block;margin:2px 14px 2px 0;font-size:.9rem;font-weight:700;color:#5b450b}.security-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px}.mini{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:16px}.mini strong{display:block}.mini span{color:rgba(255,255,255,.76);font-size:.9rem}.mobile-only{display:none}@media(max-width:860px){.stats,.doc-list,.security-list{grid-template-columns:1fr}.section-head{display:block}.nav{align-items:flex-start;flex-direction:column;padding:12px 0}.navlinks{width:100%;overflow:auto;flex-wrap:nowrap;padding-bottom:8px}.hero{padding-top:44px}.article,.article-head{padding:24px}.doc-card{flex-direction:column}.mobile-only{display:block}}

.lang-switch{display:inline-flex;align-items:center;gap:6px;padding:4px;border:1px solid var(--line);border-radius:999px;background:#fff;box-shadow:0 6px 18px rgba(16,36,63,.06)}
.lang-switch a,.lang-switch button{border:0;background:transparent;border-radius:999px;padding:7px 11px;font-weight:850;color:var(--muted);cursor:pointer;text-decoration:none;font-size:.88rem}
.lang-switch .active{background:var(--navy);color:#fff}
.doc-actions .button.secondary{background:#fff;color:var(--navy);border-color:var(--line);box-shadow:none}
.notice{background:#fff8e5;border:1px solid #eadfc9;color:#5e4a17;border-radius:18px;padding:14px 16px;margin:18px 0;font-weight:650}

/* PHP internal management additions */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row{margin-bottom:14px}.form-row label{display:block;font-weight:850;color:var(--navy);margin-bottom:7px}.form-row input[type=text],.form-row textarea,.form-row input[type=number]{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;font:inherit}.form-row textarea{min-height:86px;resize:vertical}.admin-panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 12px 34px rgba(16,36,63,.06);margin-bottom:22px}.status-ok{background:#eef8f0;border:1px solid #bfdcc6;color:#2d5c39;border-radius:14px;padding:12px 14px;margin:14px 0;font-weight:750}.status-error{background:#fff0f0;border:1px solid #f1c0c0;color:#8f1a1a;border-radius:14px;padding:12px 14px;margin:14px 0;font-weight:750}.danger{background:#fff;color:#8f1a1a;border-color:#f1c0c0}
.secondary{background:#fff;color:var(--navy);border-color:var(--line)}
.button.small{padding:7px 12px;font-size:.84rem}
.action-cell{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.synced-note{font-size:.82rem;color:var(--muted);display:block;margin-top:2px}.file-note{font-size:.86rem;color:var(--muted);margin-top:6px}.table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}.admin-table th{background:#fff6dc;color:var(--navy)}.admin-table tr:last-child td{border-bottom:0}@media(max-width:760px){.form-grid{grid-template-columns:1fr}.admin-table{font-size:.9rem}}

/* Source-type toggle on the admin "Add document" form */
.type-switch{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.type-option{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:14px;padding:10px 14px;font-weight:750;color:var(--navy);cursor:pointer;background:#fff}
.type-option:has(input:checked){border-color:var(--navy);background:#f2f6fb}
.type-option input{margin:0}

/* Google Doc live view (source_type = 'gdoc') --------------------------------- */
:root{
  --gdoc-teal:#0b8f8f;
  --gdoc-teal-soft:#dff4f1;
}
.gdoc-shell{max-width:var(--max);margin:0 auto;padding:8px 24px 64px;display:grid;grid-template-columns:280px minmax(0,1fr);gap:26px;align-items:start}
.gdoc-sidebar{position:sticky;top:90px;background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.gdoc-brand{padding:20px 20px 16px;background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;position:relative;isolation:isolate}
.gdoc-brand:after{content:"";position:absolute;right:-30px;top:-38px;width:96px;height:96px;border-radius:999px;border:20px solid rgba(217,155,34,.30);z-index:-1}
.gdoc-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;opacity:.85;font-weight:800}
.gdoc-name{margin-top:6px;font-size:1.1rem;line-height:1.22;font-weight:850}
.gdoc-meta{margin-top:8px;color:rgba(255,255,255,.8);font-size:.84rem;line-height:1.4}
.gdoc-edit-link{display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.32);color:#fff;font-weight:750;font-size:.83rem}
.gdoc-edit-link:hover{background:rgba(255,255,255,.24);text-decoration:none}
.gdoc-toc{padding:14px 12px 16px;max-height:64vh;overflow:auto}
.gdoc-toc a{display:block;text-decoration:none;color:var(--ink);border-radius:12px;padding:7px 9px;font-size:.86rem;line-height:1.28;border:1px solid transparent}
.gdoc-toc a:hover{background:var(--soft);border-color:var(--line)}
.gdoc-toc-lv1{font-weight:850;color:var(--navy);margin-top:6px}
.gdoc-toc-lv2{padding-left:16px;color:var(--muted)}
.gdoc-toc-lv3{padding-left:28px;color:var(--muted);font-size:.82rem}
.gdoc-document{background:var(--card);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);overflow:hidden}
.gdoc-document--full{grid-column:1/-1}
.gdoc-cover{position:relative;padding:38px 42px;background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 100%);color:#fff;overflow:hidden}
.gdoc-cover:after{content:"";position:absolute;right:64px;top:34px;width:80px;height:80px;border-radius:22px;border:1px solid rgba(255,255,255,.2);transform:rotate(12deg)}
.gdoc-badge{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:999px;background:rgba(223,244,241,.14);border:1px solid rgba(223,244,241,.36);color:var(--gdoc-teal-soft);font-weight:800;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase}
.gdoc-cover h1{margin:20px 0 8px;font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.06;letter-spacing:-.05em;max-width:820px}
.gdoc-cover h2{margin:0;max-width:720px;color:rgba(255,255,255,.86);font-weight:500;font-size:1.12rem;letter-spacing:-.01em}
.gdoc-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.gdoc-chip{padding:7px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:rgba(255,255,255,.92);font-size:.82rem;font-weight:700;display:inline-flex;align-items:center;gap:6px}
.gdoc-chip-link{background:var(--gdoc-teal);border-color:transparent;color:#fff;font-weight:800}
.gdoc-chip-link:hover{filter:brightness(1.1);text-decoration:none}
.gdoc-content{padding:38px 44px 46px}
.gdoc-content h1,.gdoc-content h2,.gdoc-content h3,.gdoc-content h4{color:var(--navy);line-height:1.22}
.gdoc-content h1{font-size:1.7rem;margin:44px 0 16px;padding-top:8px;border-top:2px solid var(--gold)}
.gdoc-content h1:first-child{margin-top:0;border-top:0;padding-top:0}
.gdoc-content h2{font-size:1.34rem;margin:32px 0 12px}
.gdoc-content h3{font-size:1.04rem;margin:22px 0 8px;color:var(--gdoc-teal)}
.gdoc-content p{margin:0 0 14px;color:#37424f}
.gdoc-content strong{color:var(--navy)}
.gdoc-content em{color:var(--muted)}
.gdoc-content a{color:var(--gdoc-teal);font-weight:650}
.gdoc-content ul,.gdoc-content ol{padding-left:1.3rem;margin:10px 0 18px}
.gdoc-content li{margin:6px 0;color:#37424f}
.gdoc-content hr{border:0;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent);margin:28px 0}
.gdoc-content blockquote{margin:20px 0;padding:14px 18px;border-left:5px solid var(--gdoc-teal);background:var(--gdoc-teal-soft);border-radius:0 14px 14px 0;color:#31474a}
.gdoc-content table{width:100%;border-collapse:separate;border-spacing:0;margin:16px 0 26px;border:1px solid var(--line);border-radius:16px;overflow:hidden;font-size:.92rem}
.gdoc-content thead th{background:linear-gradient(180deg,var(--navy),var(--navy2));color:#fff;text-align:left;padding:11px 13px;font-weight:800}
.gdoc-content td,.gdoc-content th{padding:11px 13px;border-top:1px solid var(--line);vertical-align:top;text-align:left}
.gdoc-content tr:first-child td{border-top:0}
.gdoc-content tr:nth-child(odd) td{background:#fbfdfe}
.gdoc-content img{max-width:100%;border-radius:14px;margin:10px 0;display:block}
.gdoc-content code{padding:.15em .38em;border-radius:7px;background:#f7f2e8;color:#5b450b;font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:.9em}
.gdoc-footer-note{margin:0 44px 40px;padding:16px 18px;border-radius:16px;background:linear-gradient(135deg,var(--soft),#fff);border:1px solid var(--line);color:var(--muted);font-size:.88rem;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.gdoc-footer-note a{font-weight:750}
.gdoc-error-panel{background:#fff;border:1px solid #f1c0c0;border-radius:24px;padding:32px;box-shadow:0 16px 50px rgba(16,36,63,.06)}
.gdoc-error-panel h2{margin:10px 0;color:#8f1a1a}
.gdoc-error-panel p{color:#5c3a3a;max-width:680px}
.gdoc-error-panel .button{margin-top:16px}
@media(max-width:940px){
  .gdoc-shell{display:block;padding:8px 16px 44px}
  .gdoc-sidebar{position:relative;top:0;margin-bottom:18px}
  .gdoc-toc{max-height:none}
  .gdoc-cover,.gdoc-content{padding:26px}
  .gdoc-footer-note{margin:0 26px 30px}
}
