:root{--bg:#f1f5f9;--surface:#fff;--ink:#0f172a;--muted:#64748b;--line:#e2e8f0;--brand:#0d2a4d;--brand-gold:#f5b324;--accent:#2563eb;--danger:#b91c1c;--ok:#15803d}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans Ethiopic,Arial,sans-serif;line-height:1.5}.container{max-width:880px;margin:0 auto;padding:2rem 1.25rem 4rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.5rem;margin-bottom:1.25rem}.card h1,.card h2{margin-top:0}.muted{color:var(--muted);font-size:.9rem}.badge{display:inline-block;background:#eef2ff;color:#3730a3;border-radius:999px;padding:.1rem .6rem;font-size:.78rem;margin:0 .25rem .25rem 0}.status-ok{color:var(--ok);font-weight:600}.status-down{color:var(--danger);font-weight:600}form{gap:.9rem;max-width:380px}form,label{display:flex;flex-direction:column}label{font-size:.85rem;font-weight:600;gap:.3rem}input{border:1px solid var(--line);border-radius:8px;padding:.65rem .75rem;font-size:1rem;background:#fff}input:focus{outline:2px solid var(--accent);outline-offset:0}button{border:0;border-radius:8px;padding:.7rem 1rem;font-size:1rem;font-weight:600;background:var(--accent);color:#fff;cursor:pointer}button:disabled{opacity:.6;cursor:default}button.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.error-text{color:var(--danger);font-size:.9rem}.success-text{color:var(--ok);font-size:.92rem;font-weight:600}.linklike{background:none;border:0;padding:0;color:var(--accent);font-size:.9rem;font-weight:600;cursor:pointer;text-decoration:underline}.linklike:hover{color:#1d4ed8}a{color:var(--accent)}.appnav{background:var(--brand);position:-webkit-sticky;position:sticky;top:0;z-index:50}.appnav-inner{max-width:1440px;margin:0 auto;padding:.6rem 1rem;display:flex;align-items:center;gap:.75rem}.appnav-row+.appnav-row{border-top:1px solid hsla(0,0%,100%,.14)}.brand-row .appnav-inner{padding-top:.55rem;padding-bottom:.5rem}.menu-row .appnav-inner{padding-top:.35rem;padding-bottom:.4rem}.brand{color:#fff;font-weight:700;text-decoration:none;font-size:1.05rem;white-space:nowrap;display:inline-flex;align-items:center;gap:.6rem;min-width:0}.brand-title{letter-spacing:.01em}.brand-logo{display:inline-flex;align-items:center;flex-shrink:0;height:34px;line-height:0}.brand-logo img{height:100%;width:auto;display:block}.navlinks{display:flex;align-items:center;gap:.04rem;row-gap:.2rem;flex:1 1 auto;min-width:0;flex-wrap:wrap;overflow:visible}.navlinks::-webkit-scrollbar{display:none}.navlink{color:#cbd5e1;text-decoration:none;padding:.4rem .42rem;border-radius:8px;font-size:.875rem;white-space:nowrap;flex-shrink:0}.navlink:hover{color:#fff;background:hsla(0,0%,100%,.08)}.navlink.active{color:#0d2a4d;background:var(--brand-gold);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.25)}.navgroup{position:relative;flex-shrink:0}.navgroup,.navgroup-link{display:flex;align-items:center}.navgroup-link{color:#cbd5e1;text-decoration:none;padding:.4rem .28rem .4rem .45rem;border-radius:8px;font-size:.875rem;white-space:nowrap}.navgroup-link:hover{color:#fff;background:hsla(0,0%,100%,.08)}.navgroup.active>.navgroup-link{color:#0d2a4d;background:var(--brand-gold);font-weight:600;border-radius:8px 0 0 8px}.navgroup-caret{color:#cbd5e1;background:none;border:0;cursor:pointer;padding:.4rem .34rem .4rem .16rem;border-radius:0 8px 8px 0;font-size:.875rem}.navgroup-caret:hover{color:#fff;background:hsla(0,0%,100%,.08)}.navgroup.active>.navgroup-caret{color:#0d2a4d;background:var(--brand-gold)}.navgroup-btn{display:flex;align-items:center;gap:.3rem;color:#cbd5e1;background:none;border:0;font:inherit;font-size:.875rem;padding:.4rem .5rem;border-radius:8px;cursor:pointer;white-space:nowrap}.navgroup-btn:hover{color:#fff;background:hsla(0,0%,100%,.08)}.caret{font-size:.62rem;opacity:.8}.dropdown{display:none;position:absolute;top:100%;left:0;min-width:250px;z-index:60;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.35rem;box-shadow:0 10px 24px rgba(15,23,42,.16)}.navgroup.open .dropdown,.navgroup:hover .dropdown{display:block}.navlinks>.navgroup:last-child .dropdown{left:auto;right:0}.dropdown-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem .6rem;border-radius:8px;text-decoration:none;color:var(--ink);font-size:.92rem;background:none;border:0;font-family:inherit;width:100%;cursor:pointer;text-align:left;white-space:nowrap}.dropdown-item:hover{background:#f1f5f9}.dropdown-item.active{background:#fef3c7;color:#0d2a4d;font-weight:600;box-shadow:inset 3px 0 0 var(--brand-gold)}.dropdown-item.danger{color:var(--danger)}.navgroup.profile{margin-left:.25rem}.navgroup.profile.active>.navgroup-btn{color:#0d2a4d;background:var(--brand-gold);font-weight:600}.profile-dropdown{left:auto;right:0}.profile-head{display:flex;flex-direction:column;gap:.1rem;padding:.5rem .6rem .55rem;border-bottom:1px solid var(--line);margin-bottom:.3rem}.profile-head strong{font-size:.95rem}.soon-pill{margin-left:.25rem;font-size:.58rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#92400e;background:#fef3c7;padding:.06rem .3rem;border-radius:999px}.navlink.active .soon-pill{color:var(--brand-gold);background:#0d2a4d}.dropdown-item .soon-pill{margin-left:0}.soon-badge{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#92400e;background:#fef3c7;border:1px solid #fde68a;padding:.25rem .6rem;border-radius:999px}.soon-list{margin:.4rem 0 1rem;padding-left:1.2rem}.soon-list li{margin-bottom:.3rem}.op-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:.8rem;gap:.8rem;margin-top:.8rem}.op-card{display:flex;flex-direction:column;gap:.35rem;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:10px;padding:.9rem 1rem}.op-card:hover{border-color:var(--accent)}.profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:.8rem 1.4rem;gap:.8rem 1.4rem}.ok-text{color:var(--ok);font-size:.92rem}.backlink-row{margin-bottom:.35rem}.backlink{color:var(--muted);font-size:.88rem;text-decoration:none}.backlink:hover{color:var(--accent);text-decoration:underline}.info-note{background:#f8fafc;border:1px solid var(--line);border-left:3px solid var(--brand-gold);border-radius:8px;padding:.7rem .9rem;margin-bottom:1rem;font-size:.92rem;color:#475569;line-height:1.55}.inline-form{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem;align-items:center}.inline-form input,.inline-form select{max-width:240px}@media (max-width:720px){.appnav-inner{flex-wrap:wrap}.brand{white-space:normal;font-size:.95rem}.navgroup{width:100%}.dropdown{position:static;min-width:0;box-shadow:none}}.navuser{display:flex;align-items:center;gap:.6rem}.navuser-name{color:#cbd5e1;font-size:.85rem}.button{display:inline-block;border:0;border-radius:8px;padding:.55rem .9rem;font-size:.92rem;font-weight:600;background:var(--accent);color:#fff;cursor:pointer;text-decoration:none}.button.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.button:disabled{opacity:.55;cursor:default}.source-option{display:block;width:100%;text-align:left;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:12px 14px;cursor:pointer;font:inherit;line-height:1.45}.source-option:hover{border-color:var(--accent)}.source-option .source-option-title{display:block;font-weight:700;color:inherit}.source-option .source-option-desc{display:block;margin-top:2px;font-size:.85rem;color:var(--muted)}.source-option.selected{background:var(--accent);border:2px solid var(--accent);color:#fff;padding:11px 13px}.source-option.selected .source-option-title{color:#fff}.source-option.selected .source-option-desc{color:#dbeafe}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.page-head h1{margin:0}.page-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.stat-big{font-size:3rem;font-weight:700}.status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));grid-gap:.6rem;gap:.6rem}.status-tile{display:flex;align-items:center;gap:.5rem;padding:.6rem .8rem;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--ink);background:#fff}.status-tile:hover{border-color:var(--accent)}.status-tile strong{margin-left:auto;font-size:1.15rem}.dot{width:10px;height:10px;border-radius:999px;flex-shrink:0}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;background:#fff}.table td,.table th{text-align:left;padding:.55rem .6rem;border-bottom:1px solid var(--line);font-size:.92rem;vertical-align:top}.table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.rowlink{cursor:pointer}.rowlink:hover{background:#f8fafc}.small-text{font-size:.82rem}.badge.demo{background:#fef3c7;color:#92400e}.card-list{display:none}@media (max-width:720px){.table-wrap{display:none}.card-list{display:flex;flex-direction:column;gap:.6rem}}.mobile-card{border:1px solid var(--line);border-radius:10px;padding:.7rem .8rem;cursor:pointer;background:#fff}.mobile-card:hover{border-color:var(--accent)}.mobile-card-head{display:flex;justify-content:space-between;gap:.5rem;align-items:flex-start}.filter-bar{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.filter-bar select,select{background:#fff}.filter-bar select,select,textarea{border:1px solid var(--line);border-radius:8px;padding:.6rem;font-size:.95rem}textarea{font-family:inherit}.hint{color:var(--muted);font-size:.8rem;font-weight:400}.req{color:var(--danger)}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:.9rem 1.1rem;gap:.9rem 1.1rem;margin-top:.8rem}.form-grid label{font-size:.85rem;font-weight:600;display:flex;flex-direction:column;gap:.3rem}.checkline{display:flex;gap:.5rem;align-items:flex-start;font-size:.92rem;margin-top:.6rem}.checkline input{width:auto}.wizard-steps{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}.wstep{display:flex;align-items:center;gap:.45rem;padding:.35rem .7rem;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-size:.85rem;background:#fff}.wstep.active{border-color:var(--accent);color:var(--accent);font-weight:600}.wstep.done{border-color:var(--ok);color:var(--ok)}.wstep-num{width:20px;height:20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;background:#e2e8f0;color:var(--ink)}.wstep.active .wstep-num{background:var(--accent);color:#fff}.wstep.done .wstep-num{background:var(--ok);color:#fff}.wizard-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.4rem}.mode-chooser{display:flex;gap:1rem;flex-wrap:wrap}.mode-option{flex:1 1 260px;text-align:left;display:flex;flex-direction:column;gap:.4rem;padding:1.1rem 1.2rem;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;font:inherit}.mode-option:focus,.mode-option:hover{border-color:var(--accent);outline:2px solid color-mix(in srgb,var(--accent) 25%,transparent)}.dup-panel{grid-column:1/-1;border:1px solid #f59e0b;background:#fffbeb;border-radius:10px;padding:.9rem 1rem}.dup-panel ul{margin:.4rem 0;padding-left:1.2rem}.warn-text{color:#b45309;font-size:.82rem}.review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:.45rem 1.5rem;gap:.45rem 1.5rem}.review-row{display:flex;gap:.8rem;padding:.3rem 0;border-bottom:1px dashed var(--line);font-size:.93rem}.review-label{color:var(--muted);min-width:200px;flex-shrink:0}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:1rem;gap:1rem}.photo-box{margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.photo-box figcaption{font-size:.85rem;font-weight:600;padding:.5rem .75rem;border-bottom:1px solid var(--line)}.photo-box img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover}.photo-empty{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.85rem;padding:1rem;text-align:center}.photo-layout{grid-template-columns:1.6fr 1fr;align-items:stretch}.photo-layout,.photo-side{display:grid;grid-gap:1rem;gap:1rem}.photo-side{align-content:start}.photo-box.small .photo-empty,.photo-box.small img{aspect-ratio:5/4}@media (max-width:760px){.photo-layout{grid-template-columns:1fr}}.photo-edit-rows{display:grid;grid-gap:.75rem;gap:.75rem;margin-bottom:.75rem}.photo-edit-row{display:grid;grid-template-columns:minmax(280px,340px) 1fr;grid-gap:1rem;gap:1rem;align-items:start}@media (max-width:760px){.photo-edit-row{grid-template-columns:1fr}}.action-cell{white-space:nowrap;display:flex;gap:.4rem;align-items:center}.archive-card{border:1px dashed var(--line);background:#fcfcfd}.archived-row td{color:var(--muted)}.archived-row td strong{color:var(--text-strong,inherit)}.status-archived{color:var(--muted);font-style:italic}.timeline{list-style:none;margin:0;padding:0}.timeline li{display:flex;gap:.8rem;padding:.45rem 0;border-bottom:1px dashed var(--line)}.timeline-dot{width:10px;height:10px;border-radius:999px;background:var(--accent);margin-top:6px;flex-shrink:0}.preview-counts{display:flex;gap:.5rem;flex-wrap:wrap;margin:.6rem 0}.pill{padding:.15rem .65rem;border-radius:999px;font-size:.82rem;font-weight:600}.pill-total{background:#e2e8f0;color:var(--ink)}.pill-ok{background:#dcfce7;color:#166534}.pill-warn{background:#fef3c7;color:#92400e}.pill-dup{background:#ede9fe;color:#5b21b6}.pill-err{background:#fee2e2;color:#991b1b}.pager{display:flex;align-items:center;gap:.8rem;margin-top:.8rem;flex-wrap:wrap}button.small{padding:.4rem .7rem;font-size:.85rem}.role-list{padding-left:1.1rem}.role-list li{margin-bottom:.3rem;font-size:.92rem}.login-page{display:flex;align-items:flex-start;justify-content:center;padding-top:6vh}.login-card{max-width:420px;width:100%}