:root{--green-950:#073b32;--green-900:#08483c;--green-700:#08785c;--green-500:#0da875;--green-100:#dff3eb;--gold:#dda23b;--gold-light:#f4d795;--ink:#15342e;--muted:#70817d;--line:#dce7e3;--paper:#fff;--surface:#f4f8f6;--danger:#9b3037;--danger-bg:#fff0f1;--success:#076c50;--shadow:0 24px 70px rgba(11,63,52,.12)}
*{box-sizing:border-box}html{min-height:100%}body{margin:0;color:var(--ink);font-family:Calibri,"Segoe UI",Tahoma,sans-serif;background:var(--surface);line-height:1.75}button,input,select,textarea{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.public-page{min-height:100vh;position:relative;overflow-x:hidden;background:linear-gradient(145deg,#fbfaf4 0%,#f4f8f6 54%,#edf5f2 100%)}.ambient{position:fixed;border-radius:50%;filter:blur(4px);pointer-events:none}.ambient-one{width:520px;height:520px;top:-280px;left:-140px;background:radial-gradient(circle,rgba(221,162,59,.18),transparent 68%)}.ambient-two{width:600px;height:600px;right:-350px;bottom:-260px;background:radial-gradient(circle,rgba(13,168,117,.14),transparent 68%)}
.public-header{height:120px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(8,72,60,.1);position:relative;z-index:1}.brand,.sidebar-brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--green-950)}.brand img{width:62px;height:62px}.brand span{display:grid;line-height:1.05;letter-spacing:2.4px}.brand strong{font-size:22px}.brand small{font-size:13px;color:var(--gold);margin-top:8px;letter-spacing:4.7px}.public-header p{color:var(--muted);font-size:13px;letter-spacing:.3px}.public-main{min-height:calc(100vh - 220px);display:grid;align-items:center;padding-block:72px;position:relative;z-index:1}.hero-grid{display:grid;grid-template-columns:1fr minmax(390px,500px);gap:100px;align-items:center}.eyebrow{color:var(--gold);font-size:12px;font-weight:700;letter-spacing:2px}.hero-copy h1{font-size:clamp(42px,5vw,72px);line-height:1.22;margin:18px 0 24px;color:var(--green-950);letter-spacing:-2px}.hero-copy h1 em{font-style:normal;color:var(--gold)}.hero-copy>p{font-size:17px;color:var(--muted);max-width:520px}.trust-note{display:flex;align-items:center;gap:14px;margin-top:40px}.trust-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--green-100);color:var(--green-700);font-weight:800}.trust-note div{display:grid}.trust-note small{color:var(--muted)}
.verify-card,.auth-card{background:rgba(255,255,255,.91);border:1px solid rgba(8,72,60,.13);border-radius:26px;box-shadow:var(--shadow);padding:38px;backdrop-filter:blur(14px)}.card-heading{display:flex;align-items:center;gap:15px;margin-bottom:26px}.card-heading img{width:54px;height:54px;padding:8px;border-radius:17px;background:#fff8ec}.card-heading div{display:grid}.card-heading span{font-size:19px;font-weight:800;color:var(--green-950)}.card-heading small{color:var(--muted)}.stack-form{display:grid;gap:10px}.stack-form label{font-size:13px;font-weight:700;margin-top:4px}.stack-form input{width:100%;height:56px;border:1px solid #d6e2de;border-radius:14px;background:#fbfdfc;padding:0 17px;color:var(--ink);outline:none;transition:.2s}.stack-form input:focus{border-color:var(--green-500);box-shadow:0 0 0 4px rgba(13,168,117,.11);background:#fff}.primary-button{min-height:56px;border:0;border-radius:14px;background:linear-gradient(135deg,var(--green-700),var(--green-900));color:#fff;font-weight:800;cursor:pointer;margin-top:14px;padding:0 22px;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 12px 28px rgba(8,120,92,.2);transition:.2s}.primary-button:hover{transform:translateY(-1px);box-shadow:0 16px 32px rgba(8,120,92,.25)}.primary-button b{color:var(--gold-light);font-size:20px}.alert{border-radius:13px;padding:13px 16px;margin-bottom:18px;font-size:13px}.alert-error{background:var(--danger-bg);border:1px solid #f3c9cc;color:var(--danger)}.alert-success{background:#e9f8f1;border:1px solid #bce6d5;color:var(--success)}.alert strong{margin-right:12px}
.verification-result{border-radius:17px;padding:21px;margin-bottom:22px;text-align:center}.result-success{background:#edf9f4;border:1px solid #c4eadb}.result-failure{background:var(--danger-bg);border:1px solid #f2c8cb}.result-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;margin:0 auto 9px;background:var(--paper);font-weight:900}.result-success .result-mark{color:var(--success)}.result-failure .result-mark{color:var(--danger)}.result-title{font-weight:800}.verification-result p{font-size:12px;margin:5px 0 0;color:var(--muted)}.verification-result dl{margin:16px 0 0;display:grid;gap:8px}.verification-result dl div{display:flex;justify-content:space-between;background:rgba(255,255,255,.65);padding:8px 12px;border-radius:9px}.verification-result dt{color:var(--muted);font-size:12px}.verification-result dd{margin:0;font-weight:800}.public-footer{min-height:100px;border-top:1px solid rgba(8,72,60,.1);display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px;position:relative;z-index:1}.public-footer span:first-child{letter-spacing:2px;color:var(--green-900);font-weight:800}
.captcha-box{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:9px;padding:14px 16px;border:1px solid #d8e5e0;border-radius:14px;background:linear-gradient(135deg,#f6fbf8,#fffaf0)}.captcha-box>div{display:grid}.captcha-box span{font-size:11px;color:var(--muted)}.captcha-box strong{font-size:19px;letter-spacing:1px;color:var(--green-950)}.captcha-refresh{border:1px solid #c9ddd5;border-radius:10px;background:#fff;color:var(--green-700);padding:7px 11px;font-size:11px;font-weight:800;cursor:pointer}.captcha-refresh:hover{border-color:var(--green-500)}.captcha-refresh[aria-busy=true]{opacity:.65;cursor:wait}.security-alert{border-right:4px solid var(--danger)}.security-blocked{background:#fff7df;border-color:#ead38e;color:#76540e}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 20% 10%,rgba(221,162,59,.17),transparent 34%),linear-gradient(150deg,#eef6f2,#faf9f3)}.auth-card{width:min(460px,100%)}.auth-brand{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:22px}.auth-brand img{width:62px;height:62px}.auth-brand div{display:grid;line-height:1.25}.auth-brand strong{letter-spacing:1.5px;color:var(--green-950)}.auth-brand small{color:var(--gold)}.auth-card h1{text-align:center;margin:6px 0 4px;color:var(--green-950)}.muted{text-align:center;color:var(--muted);font-size:13px;margin:0 0 24px}
.admin-page{background:#f1f6f4;min-height:100vh}.admin-shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh;direction:ltr}.admin-sidebar{grid-column:1;background:var(--green-950);color:#fff;padding:27px 22px;position:fixed;left:0;top:0;bottom:0;width:270px;display:flex;flex-direction:column;direction:rtl}.sidebar-brand{color:#fff;padding:5px 8px 30px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-brand img{width:52px;height:52px}.sidebar-brand div{display:grid}.sidebar-brand strong{font-size:15px;letter-spacing:1px}.sidebar-brand small{color:var(--gold-light);font-size:11px}.admin-sidebar nav{display:grid;gap:8px;margin-top:30px}.admin-sidebar nav a,.sidebar-logout button{display:flex;align-items:center;gap:12px;min-height:50px;border:0;border-radius:13px;padding:0 15px;text-decoration:none;color:rgba(255,255,255,.72);background:transparent;cursor:pointer;width:100%;font-weight:700}.admin-sidebar nav a span,.sidebar-logout span{font-size:20px;color:var(--gold-light)}.admin-sidebar nav a:hover,.admin-sidebar nav a.active{color:#fff;background:rgba(255,255,255,.1)}.admin-sidebar nav a.active{box-shadow:inset -3px 0 var(--gold)}.sidebar-logout{margin-top:auto}.sidebar-logout button{border-top:1px solid rgba(255,255,255,.1);border-radius:0;padding-top:20px}.admin-content{grid-column:2;min-width:0;direction:rtl}
.admin-topbar{height:82px;background:rgba(255,255,255,.9);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px;position:sticky;top:0;z-index:5;backdrop-filter:blur(10px);font-size:12px;color:var(--muted)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green-500);margin-left:8px;box-shadow:0 0 0 4px rgba(13,168,117,.12)}.admin-identity{display:flex;align-items:center;gap:12px}.admin-identity b{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--green-100);color:var(--green-900)}.admin-main{padding:44px 40px 70px;max-width:1500px;margin:0 auto}.page-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:30px}.page-heading h1{font-size:34px;margin:5px 0 0;color:var(--green-950)}.page-heading>p{color:var(--muted);margin:0;font-size:13px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;right:0;top:0;height:4px;width:100%;background:linear-gradient(90deg,var(--green-500),var(--gold))}.stat-card span{font-size:13px;color:var(--muted)}.stat-card strong{display:block;font-size:32px;color:var(--green-900);margin:7px 0 1px}.stat-card small{color:#9aa7a4}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px;margin-bottom:24px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.panel-heading h2,.upload-panel h2,.contract-panel h2{font-size:17px;margin:0;color:var(--green-950)}.panel-heading p,.upload-panel>p{font-size:12px;color:var(--muted);margin:3px 0 0}.text-button{color:var(--green-700);font-weight:700;text-decoration:none;font-size:12px}
.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:right;color:var(--muted);font-size:11px;font-weight:600;background:#f6f9f8;padding:11px 13px}td{padding:13px;border-bottom:1px solid #edf2f0;font-size:12px}tbody tr:last-child td{border:0}.empty-cell{text-align:center;color:var(--muted);padding:35px}.badge{font-size:9px;font-weight:800;letter-spacing:.4px;padding:5px 8px;border-radius:20px;background:#eef2f1}.badge-completed{color:var(--success);background:#e9f8f1}.badge-failed{color:var(--danger);background:var(--danger-bg)}.badge-processing{color:#866010;background:#fff7df}.import-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:24px}.upload-panel{text-align:center;padding:36px}.upload-icon{width:62px;height:62px;display:grid;place-items:center;border-radius:18px;margin:0 auto 14px;background:var(--green-100);color:var(--green-700);font-size:27px}.upload-panel>p{max-width:590px;margin:8px auto 20px}.upload-form{display:grid;gap:13px;max-width:500px;margin:0 auto}.file-picker{display:grid;border:1px dashed #a9c8bc;background:#f8fbfa;border-radius:14px;padding:19px;cursor:pointer}.file-picker span{font-weight:800;color:var(--green-900)}.file-picker small{color:var(--muted)}.upload-form input[type=file]{font-size:11px;color:var(--muted)}.password-label{text-align:right;font-size:12px;font-weight:800}.upload-form input[type=password]{height:48px;border:1px solid #d6e2de;border-radius:12px;padding:0 14px;background:#fbfdfc;outline:none}.upload-form input[type=password]:focus{border-color:var(--green-500);box-shadow:0 0 0 4px rgba(13,168,117,.11)}.contract-panel ol{columns:2;margin:15px 0 20px;padding-left:25px;color:var(--green-900);font:12px/2 Consolas,monospace}.compatibility-note{background:#fff9e9;border:1px solid #efdaa8;border-radius:13px;padding:14px}.compatibility-note strong{font-size:12px;color:#805b0d}.compatibility-note p{font-size:11px;color:#7f7358;margin:5px 0 0}
.filter-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:13px;align-items:end}.filter-grid label{display:grid;gap:5px}.filter-grid label span{font-size:11px;font-weight:700;color:var(--muted)}.filter-grid input,.filter-grid select{height:44px;border:1px solid #d6e2de;border-radius:11px;background:#fbfdfc;padding:0 11px;outline:none}.filter-grid input:focus,.filter-grid select:focus{border-color:var(--green-500);box-shadow:0 0 0 3px rgba(13,168,117,.1)}.filter-actions{display:flex;align-items:center;gap:13px}.filter-actions .primary-button{min-height:44px;margin:0}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px;font-size:11px}.pagination a,.pagination span{padding:7px 11px;border:1px solid var(--line);border-radius:9px;text-decoration:none;color:var(--green-700)}.pagination span{color:#a0aaa7}.badge-result-success{background:#e9f8f1;color:var(--success)}.badge-result-failed,.badge-result-malformed,.badge-result-captcha_failed{background:var(--danger-bg);color:var(--danger)}.badge-result-blocked{background:#fff2cf;color:#77530a}.table-wrap td small{display:block;color:var(--muted);font-size:10px}.suspicious-panel{border-color:#ead8a8;background:linear-gradient(150deg,#fff,#fffcf3)}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:45px}.hero-copy{text-align:center}.hero-copy>p{margin-inline:auto}.trust-note{justify-content:center}.public-main{padding-block:45px}.admin-shell{display:block}.admin-sidebar{position:static;width:auto;height:auto;padding:16px}.sidebar-brand{padding-bottom:14px}.admin-sidebar nav{grid-template-columns:1fr 1fr 1fr;margin-top:14px}.sidebar-logout{margin-top:8px}.admin-content{width:100%}.admin-topbar{position:static}.stat-grid,.import-grid,.filter-grid{grid-template-columns:1fr}.page-heading{display:block}.page-heading>p{margin-top:8px}}@media(max-width:560px){.container{width:min(100% - 24px,1180px)}.public-header{height:95px}.public-header p{display:none}.brand img{width:48px;height:48px}.brand strong{font-size:17px}.hero-copy h1{font-size:40px}.verify-card,.auth-card{padding:24px;border-radius:20px}.public-footer{display:grid;justify-content:center;text-align:center;padding-block:20px}.admin-main,.admin-topbar{padding-inline:16px}.stat-grid{gap:12px}.panel{padding:16px}.admin-sidebar nav a,.sidebar-logout button{justify-content:center}.sidebar-brand{justify-content:center}.page-heading h1{font-size:28px}.captcha-box{align-items:flex-start;flex-direction:column}}
.admin-identity span{display:grid;text-align:left}.admin-identity span small{font-size:9px;color:var(--gold);letter-spacing:.5px}.admin-main>.alert ul{margin:0;padding-right:18px}.compact-button{min-height:42px;margin:0;padding:0 18px;width:max-content}.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:1px solid var(--line);border-radius:12px;color:var(--green-700);text-decoration:none;font-weight:700;background:#fff}.form-panel{max-width:1050px}.admin-form{display:grid;gap:20px}.admin-form>label,.form-grid label{display:grid;gap:7px}.admin-form label>span,.form-grid label>span{font-size:12px;font-weight:800;color:var(--green-950)}.admin-form input:not([type=checkbox]):not([type=file]),.admin-form select{width:100%;height:49px;border:1px solid #d6e2de;border-radius:12px;padding:0 13px;background:#fbfdfc;outline:none;color:var(--ink)}.admin-form input:focus,.admin-form select:focus{border-color:var(--green-500);box-shadow:0 0 0 3px rgba(13,168,117,.1)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-actions{display:flex;align-items:center;gap:12px}.form-actions .primary-button{margin:0;min-width:170px}.permission-fieldset{border:1px solid var(--line);border-radius:15px;padding:18px}.permission-fieldset legend{font-size:13px;font-weight:800;padding:0 8px}.permission-fieldset>p{font-size:11px;color:var(--muted);margin:0 0 12px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.permission-grid label{display:grid;grid-template-columns:20px 1fr;column-gap:8px;align-items:center;border:1px solid #edf2f0;border-radius:11px;padding:11px;background:#fbfdfc}.permission-grid label input{grid-row:1/3}.permission-grid label span{font-size:11px;font-weight:800}.permission-grid label small{font-size:9px;color:var(--muted);direction:ltr;text-align:right}.badge-active{color:var(--success);background:#e9f8f1}.badge-disabled{color:#7f6969;background:#f2eded}.row-actions{display:flex;align-items:center;gap:12px}.row-actions form{margin:0}.link-button{border:0;background:none;padding:0;color:var(--green-700);font:700 11px Calibri,"Segoe UI",sans-serif;cursor:pointer}.danger-link{color:var(--danger)}.admin-two-column{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.confirmation-card{margin-top:24px;border:1px solid #e8c7c9;border-radius:16px;background:#fff8f8;padding:19px}.confirmation-card h3{color:var(--danger);margin:0 0 13px}.confirmation-card dl{display:grid;gap:8px}.confirmation-card dl div{display:flex;justify-content:space-between;border-bottom:1px solid #f2dfdf;padding-bottom:7px}.confirmation-card dt{color:var(--muted);font-size:11px}.confirmation-card dd{font-size:12px;font-weight:800;margin:0}.confirm-check{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:9px;margin:16px 0;color:var(--danger)}.danger-button{width:100%;min-height:48px;border:0;border-radius:12px;background:var(--danger);color:#fff;font-weight:800;cursor:pointer}.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.report-grid article{border:1px solid var(--line);border-radius:12px;padding:13px;background:#fbfdfc}.report-grid span{display:block;color:var(--muted);font-size:10px}.report-grid strong{font-size:21px;color:var(--green-900)}.export-panel{max-width:720px;text-align:center;margin-inline:auto;padding:40px}.export-panel h2{color:var(--green-950)}.export-panel>p{color:var(--muted);font-size:13px}.export-panel form{display:flex;justify-content:center}.export-mark{width:70px;height:70px;border-radius:20px;display:grid;place-items:center;margin:0 auto 18px;background:var(--green-100);color:var(--green-700);font-size:32px}.metadata-cell{max-width:420px;white-space:normal;direction:ltr;text-align:left;font-family:Consolas,monospace;font-size:10px}.filter-grid .filter-actions{grid-column:1/-1;justify-content:flex-start}
@media(max-width:900px){.admin-two-column,.form-grid,.permission-grid{grid-template-columns:1fr}.report-grid{grid-template-columns:repeat(2,1fr)}.admin-sidebar nav{grid-template-columns:repeat(2,1fr)}.metadata-cell{max-width:260px}}

.backup-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}.backup-actions-grid .export-panel{max-width:none;width:100%;margin:0}.backup-restore-form{display:grid!important;gap:10px;text-align:right}.backup-restore-form label{font-size:12px;font-weight:800;color:var(--green-950)}.backup-restore-form input[type=file],.backup-restore-form input[type=password]{width:100%;min-height:48px;border:1px solid #d6e2de;border-radius:12px;background:#fbfdfc;padding:10px 13px;outline:none}.backup-restore-form input:focus{border-color:var(--green-500);box-shadow:0 0 0 3px rgba(13,168,117,.1)}.backup-restore-form .restore-confirm{display:flex;align-items:flex-start;gap:9px;margin-top:6px;font-weight:700}.backup-restore-form .restore-confirm input{margin-top:6px}.backup-restore-form .primary-button{width:100%}.backup-scope-note{margin-top:22px}.backup-scope-note p{margin-bottom:0}@media(max-width:1050px){.backup-actions-grid{grid-template-columns:1fr}.backup-actions-grid .export-panel{max-width:720px;margin-inline:auto}}@media(max-width:560px){.backup-actions-grid .export-panel{padding:24px}}
/* Backup Import layout fix */
.backup-actions-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch !important;
}

.backup-actions-grid .export-panel {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

.backup-restore-form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
    text-align: right !important;
}

.backup-restore-form > * {
    width: 100% !important;
    min-width: 0 !important;
}

.backup-restore-form input[type="file"],
.backup-restore-form input[type="password"] {
    display: block !important;
    min-height: 48px !important;
    padding: 10px 13px !important;
    border: 1px solid #d6e2de !important;
    border-radius: 12px !important;
    background: #fbfdfc !important;
    font-family: Calibri, Arial, sans-serif !important;
}

.backup-restore-form .restore-confirm {
    display: flex !important;
    align-items: flex-start !important;
    gap: 9px !important;
}

.backup-restore-form .restore-confirm input {
    width: auto !important;
    flex: 0 0 auto !important;
    margin-top: 6px !important;
}

.backup-restore-form .primary-button {
    width: 100% !important;
}

@media (max-width: 1050px) {
    .backup-actions-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}