@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --navy:#5E4486; --navy-d:#3F2C5C; --blue:#7C5EAA; --green:#1FA577; --lime:#9FE870; --lime-d:#7FD050; --on-lime:#1F3D14; --gold:#E0A63E; --purple:#5E4486;
  --ink:#1A2A3A; --muted:#5E7185; --muted2:#8294A6; --line:#E3E9F1; --line2:#EDF1F6; --bg:#F3F6FA; --card:#fff;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',system-ui,Arial,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;background:var(--bg)}
a{color:inherit}
.serif{font-family:'Fraunces',Georgia,serif}
.muted{color:var(--muted);font-size:15px}
.muted-sm{color:var(--muted2);font-size:13px;font-weight:500}
::placeholder{color:#9AA8B8}
input,select,button{font-family:inherit}

/* Buttons */
.btn-primary{background:var(--lime);color:var(--on-lime);border:none;border-radius:10px;height:44px;padding:0 20px;font-weight:700;font-size:14.5px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;justify-content:center;box-shadow:0 6px 16px rgba(159,232,112,.4)}
.btn-primary:hover{background:var(--lime-d)}
.btn-primary.sm{height:38px;padding:0 15px;font-size:13px;box-shadow:none}
.btn-block{width:100%;height:50px;font-size:16px;margin-top:24px}
.btn-outline{background:#fff;color:var(--navy);border:1.5px solid #D6DEE8;border-radius:10px;height:44px;padding:0 18px;font-weight:600;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.btn-outline:hover{border-color:var(--navy);background:#F7FAFD}
.btn-ghost{height:38px;padding:0 16px;background:#fff;color:#3A4A5C;border:1.5px solid #D6DEE8;border-radius:9px;font-weight:600;font-size:13px;text-decoration:none;display:inline-flex;align-items:center}
.btn-ghost:hover{border-color:var(--navy);color:var(--navy)}
.btn-ghost.dark{background:transparent;color:#C3D2E0;border-color:rgba(255,255,255,.22)}
.btn-ghost.dark:hover{border-color:#fff;color:#fff}

/* Inputs */
input[type=text],input[type=password],select{width:100%;height:48px;border:1.5px solid #D6DEE8;border-radius:10px;padding:0 14px;font-size:15px;color:var(--ink);outline:none;background:#fff}
input:focus,select:focus{border-color:var(--navy)}
input[type=file]{width:100%;font-size:14px;padding:10px;border:1.5px dashed #C6D3E0;border-radius:10px;background:#F8FAFC}
label{display:block;font-weight:600;font-size:13px;color:#3A4A5C;margin:14px 0 7px}

/* ============ LOGIN ============ */
.login{min-height:100vh;display:flex}
.login-brand{flex:0 0 46%;background:linear-gradient(160deg,#5E4486,#3F2C5C);color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.login-brand:before{content:"";position:absolute;right:-90px;top:-90px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.04)}
.lb-top{display:flex;align-items:center;gap:14px;position:relative}
.logo-chip{background:#fff;border-radius:14px;padding:8px 10px;display:flex;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.logo-chip img{height:44px;display:block}
.logo-chip.sm{border-radius:9px;padding:5px 7px}
.logo-chip.sm img{height:34px}
.lb-name{font-weight:800;font-size:19px}
.lb-back{margin-top:22px;position:relative}
.btn-back{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 18px;background:var(--lime);color:var(--on-lime);border-radius:999px;font-weight:700;font-size:13.5px;text-decoration:none;box-shadow:0 6px 16px rgba(159,232,112,.35);transition:background .15s ease,transform .15s ease}
.btn-back:hover{background:var(--lime-d);transform:translateX(-2px)}
.btn-back svg{flex:none}
.lb-mid{position:relative}
.eyebrow{font-weight:600;font-size:14px;letter-spacing:1.5px;text-transform:uppercase;color:var(--lime);margin-bottom:18px}
.lb-mid h1{font-family:'Fraunces',serif;font-weight:600;font-size:44px;line-height:1.12;margin-bottom:18px;max-width:460px}
.lb-mid p{font-size:17px;line-height:1.6;color:#C3D2E0;max-width:420px}
.lb-points{list-style:none;position:relative;display:flex;flex-direction:column;gap:14px}
.lb-points li{display:flex;align-items:center;gap:12px;font-weight:500;font-size:15px;color:#D7E2EC}
.tick{width:24px;height:24px;border-radius:50%;background:rgba(159,232,112,.25);color:#bff39a;display:flex;align-items:center;justify-content:center;font-size:13px}
.login-form{flex:1;display:flex;align-items:center;justify-content:center;background:#fff;padding:40px}
.lf-card{width:100%;max-width:392px}
.lf-card h2{font-family:'Fraunces',serif;font-weight:600;font-size:30px;color:var(--navy);margin-bottom:8px}
.lf-card .muted{margin-bottom:24px}
.alert{background:#FCEEEE;border:1px solid #F3D6D6;border-radius:9px;padding:11px 13px;margin:16px 0;font-weight:500;font-size:13.5px;color:#C8453F}
.contact{margin-top:28px;padding-top:22px;border-top:1px solid var(--line2)}
.contact-h{font-weight:700;font-size:11px;letter-spacing:.9px;text-transform:uppercase;color:var(--muted2);margin-bottom:14px}
.contact-row{display:flex;align-items:flex-start;gap:10px;font-weight:500;font-size:13.5px;line-height:1.45;color:#3A4A5C;margin-bottom:11px}
.contact-row a{color:var(--navy);font-weight:600;text-decoration:none}
.contact-row b{color:var(--navy)}
.ci{width:16px;height:16px;flex:none;margin-top:1px;background:currentColor;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}
.ci-phone{color:var(--purple);-webkit-mask-image:var(--m-phone);mask-image:var(--m-phone)}
.ci-pin{color:var(--gold);-webkit-mask-image:var(--m-pin);mask-image:var(--m-pin)}
.ci-clock{color:var(--blue);-webkit-mask-image:var(--m-clock);mask-image:var(--m-clock)}
.staff-note{margin-top:18px;text-align:center;font-weight:500;font-size:13px;color:#9AA8B8}

/* ============ TOPBAR ============ */
.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 40px;height:74px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.topbar.admin{background:var(--navy);padding:0 32px}
.tb-left{display:flex;align-items:center;gap:16px}
.tb-logo{height:40px;display:block}
.tb-div{width:1px;height:30px;background:var(--line)}
.tb-div.dark{background:rgba(255,255,255,.2);height:24px}
.tb-assoc{font-weight:600;font-size:15px;color:var(--navy)}
.tb-name-w{font-weight:800;font-size:16px;color:#fff}
.tb-tag{display:flex;align-items:center;gap:7px;font-weight:600;font-size:13px;color:#bff39a;background:rgba(159,232,112,.2);padding:6px 11px;border-radius:7px}
.tb-right{display:flex;align-items:center;gap:14px}
.tb-user{text-align:right;max-width:240px}
.tb-user-name{font-weight:600;font-size:14px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tb-user-sub{font-weight:500;font-size:12px;color:var(--muted)}
.avatar{width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex:none}
.avatar.green{background:var(--lime);color:var(--on-lime);width:38px;height:38px}

/* ============ MEMBER PAGES ============ */
.wrap{max-width:1180px;margin:0 auto;padding:44px 40px 64px}
.wrap.narrow{max-width:980px;padding-top:34px}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-bottom:32px}
.page-head h1{font-size:32px;line-height:1.2;color:var(--navy);margin-bottom:8px}
.wrap.narrow .page-head h1{font-size:30px;margin-bottom:6px}
.section-label{display:flex;align-items:center;gap:10px;margin-bottom:20px;font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--muted2)}
.section-label i{flex:1;height:1px;background:var(--line);display:block}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:18px}
.cat-card{display:flex;align-items:flex-start;gap:16px;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:22px;text-decoration:none;transition:.15s}
.cat-card:hover{border-color:var(--navy);box-shadow:0 10px 24px rgba(94,68,134,.14);transform:translateY(-2px)}
.cat-icon{flex:none;width:46px;height:46px;border-radius:11px;display:flex;align-items:center;justify-content:center}
.cat-name{display:block;font-weight:600;font-size:15.5px;line-height:1.3;color:var(--ink);margin-bottom:5px}
.cat-count{display:block;font-weight:500;font-size:13px;color:#7A8A9A}
.crumb{display:flex;align-items:center;gap:8px;font-weight:500;font-size:14px;color:var(--muted2);margin-bottom:24px}
.crumb a{color:var(--blue);text-decoration:none}
.crumb b{color:#3A4A5C;font-weight:600}
.list-card{background:#fff;border:1.5px solid var(--line);border-radius:14px;overflow:hidden}
.file-row{display:flex;align-items:center;gap:18px;padding:18px 22px;border-bottom:1px solid var(--line2);text-decoration:none;transition:background .12s}
.file-row:last-child{border-bottom:none}
.file-row:hover{background:#F7FAFD}
.pdf-badge{flex:none;width:42px;height:50px;border-radius:6px;background:#FCEEEE;border:1px solid #F3D6D6;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:10px;color:#C8453F;letter-spacing:.5px}
.pdf-badge.sm{width:36px;height:44px;font-size:9px}
.file-main{flex:1;min-width:0}
.file-name{font-weight:600;font-size:15px;line-height:1.3;color:var(--ink);margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-meta{font-weight:500;font-size:13px;color:var(--muted2)}
.view-pill{flex:none;display:inline-flex;align-items:center;height:38px;padding:0 18px;background:var(--lime);color:var(--on-lime);border-radius:9px;font-weight:700;font-size:13.5px}
.empty{padding:52px 22px;text-align:center}
.empty-title{font-weight:600;font-size:16px;color:#3A4A5C;margin-bottom:6px}

/* Year folders (member) */
.year-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:16px}
.year-card{display:flex;align-items:center;gap:14px;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:20px;text-decoration:none;transition:.15s}
.year-card:hover{border-color:var(--navy);box-shadow:0 10px 24px rgba(94,68,134,.14);transform:translateY(-2px)}
.year-ico{flex:none;width:46px;height:46px;border-radius:11px;background:rgba(94,68,134,.10);color:var(--purple);display:flex;align-items:center;justify-content:center}
.year-num{display:block;font-family:'Fraunces',serif;font-weight:700;font-size:20px;color:var(--navy);line-height:1;margin-bottom:6px}
.year-count{display:block;font-weight:500;font-size:12.5px;color:#7A8A9A}

/* Year subheaders (admin) */
.cs-actions{display:flex;align-items:center;gap:8px}
.yr-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 20px;background:#F7FAFD;border-bottom:1px solid var(--line2)}
.yr-title{font-weight:700;font-size:13.5px;color:var(--navy);display:flex;align-items:center;gap:10px}

/* ============ READER ============ */
.reader{height:100vh;display:flex;flex-direction:column;background:#3A444E}
.reader-bar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;height:60px;padding:0 20px;background:#1E2A36;border-bottom:1px solid #0E1620}
.rb-left{display:flex;align-items:center;gap:14px;min-width:0}
.rb-back{display:flex;align-items:center;height:38px;padding:0 14px;background:rgba(255,255,255,.08);color:#E5ECF2;border-radius:9px;font-weight:600;font-size:13.5px;text-decoration:none}
.rb-back:hover{background:rgba(255,255,255,.16)}
.rb-div{width:1px;height:26px;background:rgba(255,255,255,.12)}
.rb-badge{flex:none;width:26px;height:32px;border-radius:4px;background:#C8453F;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:7px;color:#fff}
.rb-name{font-weight:600;font-size:14.5px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50vw}
.rb-viewonly{display:flex;align-items:center;gap:7px;height:34px;padding:0 13px;background:rgba(159,232,112,.16);border:1px solid rgba(159,232,112,.4);border-radius:8px;font-weight:700;font-size:12.5px;color:#bff39a}
.reader-stage{flex:1;overflow:hidden;display:flex;justify-content:center}
.reader-frame{width:100%;max-width:900px;height:100%;border:none;background:#525659}
.lock{width:14px;height:14px;display:inline-block;background:currentColor;-webkit-mask:var(--m-lock) center/contain no-repeat;mask:var(--m-lock) center/contain no-repeat}

/* ============ ADMIN ============ */
.admin-shell{display:flex;max-width:1320px;margin:0 auto;align-items:flex-start}
.side{flex:none;width:280px;padding:24px 16px;position:sticky;top:74px;align-self:flex-start}
.side-h{font-weight:700;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:#94A4B4;padding:0 10px;margin-bottom:10px}
.side-search{margin-bottom:12px}
.side-search input{height:40px;font-size:13.5px}
.side-list{max-height:calc(100vh - 210px);overflow:auto;padding-right:2px}
.side-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border-radius:8px;text-decoration:none;font-weight:600;font-size:13px;color:#3A4A5C;margin-bottom:2px}
.side-item:hover{background:#EAF0F6}
.side-item.active{background:var(--navy);color:#fff}
.si-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.si-count{flex:none;font-size:11.5px;color:#94A4B4}
.side-item.active .si-count{color:#bff39a}
.admin-main{flex:1;min-width:0;padding:28px 32px 64px}
.am-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.am-eyebrow{font-weight:600;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#94A4B4;margin-bottom:6px}
.am-head h1{font-size:27px;color:var(--navy);line-height:1.2}
.am-total{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px;color:var(--green);background:#E6F4EE;border:1px solid #CDEADD;padding:7px 13px;border-radius:8px}
.rule{border:none;height:1px;background:var(--line);margin:20px 0 18px}
.cat-sec{margin-bottom:14px;background:#fff;border:1.5px solid var(--line);border-radius:14px;overflow:hidden;scroll-margin-top:90px}
.cs-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line2)}
.cs-title{font-weight:600;font-size:16px;color:var(--navy);display:flex;align-items:center;gap:11px}
.pill-count{font-weight:600;font-size:12px;color:var(--muted2);background:#EEF3F8;border:1px solid #DDE7F1;padding:3px 9px;border-radius:20px}
.cs-empty{padding:15px 20px;font-weight:500;font-size:13px;color:#9AA8B8}
.adm-row{display:flex;align-items:center;gap:14px;padding:13px 20px;border-bottom:1px solid #F1F4F8}
.adm-row:last-child{border-bottom:none}
.row-actions{flex:none;display:flex;align-items:center;gap:7px}
.row-actions .inline{display:flex}
.ico-btn{width:32px;height:32px;border:1.5px solid #E0E7EF;background:#fff;border-radius:8px;color:#5E7185;display:flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none}
.ico-btn:hover{border-color:var(--navy);color:var(--navy)}
.ico-btn.view{border-color:#DCE7F2;color:var(--blue)}
.ico-btn.danger{border-color:#F0DADA;color:#C8453F}
.ico-btn.danger:hover{background:#FCEEEE;border-color:#C8453F}

/* ============ MODALS ============ */
.modal-bg{position:fixed;inset:0;background:rgba(16,30,46,.55);display:none;align-items:center;justify-content:center;z-index:50;padding:24px}
.modal-bg.open{display:flex}
.modal{width:100%;max-width:470px;background:#fff;border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.3);overflow:hidden}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;border-bottom:1px solid var(--line2)}
.modal-head h3{font-size:19px;color:var(--navy)}
.modal-head .x{width:34px;height:34px;border:none;background:#F2F5F9;border-radius:8px;color:#5E7185;font-size:20px;cursor:pointer;line-height:1}
.modal-body{padding:18px 26px 24px}
.modal-body label:first-child{margin-top:0}
.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:18px 26px;border-top:1px solid var(--line2);background:#FAFBFD}
.ctx{background:#F2F7FC;border:1px solid #DCE8F3;border-radius:10px;padding:12px 14px;margin-bottom:6px;display:flex;align-items:center;gap:11px}
.ctx-ico{flex:none;width:34px;height:34px;border-radius:8px;background:var(--navy);-webkit-mask:none}
.ctx-ico{position:relative}
.ctx-ico:after{content:"";position:absolute;inset:8px;background:#fff;-webkit-mask:var(--m-folder) center/contain no-repeat;mask:var(--m-folder) center/contain no-repeat}
.ctx-label{font-weight:500;font-size:11px;color:var(--muted2)}
.ctx-val{font-weight:700;font-size:14px;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.note{display:flex;align-items:center;gap:9px;margin-top:16px;font-weight:500;font-size:13px;line-height:1.5;color:#7A8A9A}
.note .lock{color:var(--green)}

/* SVG masks (inherit colour via currentColor) */
:root{
  --m-lock:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
  --m-phone:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
  --m-pin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
  --m-clock:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
  --m-folder:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9h18M3 9l2-5h14l2 5M3 9v10a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V9'/%3E%3C/svg%3E");
}

@media(max-width:880px){
  .login{flex-direction:column}
  .login-brand{flex:none;padding:36px 28px}
  .lb-back{margin-top:24px;margin-bottom:8px}
  .lb-mid{margin-top:28px}
  .admin-shell{flex-direction:column}
  .side{width:100%;position:static}
  .side-list{max-height:none}
  .topbar{padding:0 20px}
  .wrap{padding:28px 20px 48px}
}

/* ============ MEMBER / CATEGORY MANAGEMENT ============ */
.flash{border-radius:10px;padding:12px 16px;font-weight:600;font-size:14px;margin-bottom:16px}
.flash.ok{background:#E6F4EE;border:1px solid #CDEADD;color:#1F8A5B}
.flash.bad{background:#FCEEEE;border:1px solid #F3D6D6;color:#C8453F}
.add-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:16px}
.ab-fields{display:flex;gap:10px;flex:1;min-width:240px}
.ab-fields.one{display:block}
.ab-fields input{height:46px}
.add-bar .btn-primary{flex:none}
.mt-head,.mt-row{display:flex;align-items:center;gap:14px;padding:14px 20px}
.mt-head{background:#F7FAFD;border-bottom:1.5px solid var(--line);font-weight:700;font-size:11.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted2)}
.mt-row{border-bottom:1px solid var(--line2)}
.mt-row:last-child{border-bottom:none}
.mh-name{flex:1;display:flex;align-items:center;gap:12px;min-width:0;font-size:15px}
.mh-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mh-status{flex:none;width:110px}
.mh-docs{flex:none;width:60px;color:var(--muted);font-weight:600}
.mh-act{flex:none;display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end;width:330px}
.avatar.sm-av{width:32px;height:32px;font-size:12px}
.badge-on{display:inline-block;font-weight:600;font-size:12px;color:#1F8A5B;background:#E6F4EE;border:1px solid #CDEADD;padding:4px 11px;border-radius:20px}
.badge-off{display:inline-block;font-weight:600;font-size:12px;color:#C8453F;background:#FCEEEE;border:1px solid #F3D6D6;padding:4px 11px;border-radius:20px}
.mini{height:34px;padding:0 13px;border:1.5px solid #D6DEE8;background:#fff;border-radius:8px;font-weight:600;font-size:13px;color:#3A4A5C;cursor:pointer}
.mini:hover{border-color:var(--navy);color:var(--navy)}
.mini.warn{border-color:#F0DCC2;color:#B5731A;background:#FBF4EA}
.mini.warn:hover{border-color:#D88A1E}
.mini.go{border-color:#CDEADD;color:#1F8A5B;background:#EAF7F0}
.mini.go:hover{border-color:#2E9E78}
.mini.danger{border-color:#F0DADA;color:#C8453F}
.mini.danger:hover{background:#FCEEEE;border-color:#C8453F}
.mini:disabled{opacity:.45;cursor:not-allowed}
.inline{display:inline-flex}
.cat-admin-row{display:flex;align-items:center;gap:14px;padding:12px 18px;border-bottom:1px solid var(--line2)}
.cat-admin-row:last-child{border-bottom:none}
.cae-form{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
.cae-input{flex:1;height:42px;font-weight:600}
.cae-meta{flex:none;width:80px;color:var(--muted2);font-weight:500;font-size:13px;text-align:right}
