:root{--ink:#302733;--muted:#766b78;--line:#e7dfe7;--rose:#f7b6c6;--lilac:#e8e2ff;--cream:#fffaf7;--accent:#684f6c;--shadow:0 18px 55px rgba(68,42,70,.08)}
*{box-sizing:border-box}body{margin:0;background:#f8f5f8;color:var(--ink);font:14px/1.55 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--accent)}button,.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;background:var(--ink);color:#fff;padding:12px 18px;font-weight:700;text-decoration:none;cursor:pointer}.admin-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.admin-sidebar{position:sticky;top:0;height:100vh;padding:26px 18px;background:#241e26;color:#fff;display:flex;flex-direction:column}.admin-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:700;margin-bottom:40px}.admin-brand img{width:44px;height:44px;border-radius:50%;object-fit:cover}.admin-brand span{font-size:12px;letter-spacing:.08em;text-transform:uppercase}.admin-sidebar nav{display:grid;gap:6px}.admin-sidebar nav a{padding:12px 14px;border-radius:9px;color:#d8cfd9;text-decoration:none;font-weight:600}.admin-sidebar nav a:hover,.admin-sidebar nav a.active{background:rgba(255,255,255,.1);color:#fff}.admin-account{margin-top:auto;padding:18px 14px;border-top:1px solid rgba(255,255,255,.12);display:grid;gap:2px}.admin-account span{color:#a99eab;font-size:11px}.admin-account a{color:#fff;margin-top:10px;font-size:12px}.admin-main{min-width:0;padding:48px clamp(24px,5vw,70px) 90px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:30px}.page-header h1{margin:3px 0 8px;font-family:Georgia,serif;font-size:clamp(38px,5vw,58px);font-weight:500;letter-spacing:-.03em}.page-header p{margin:0;color:var(--muted)}.eyebrow{color:#987399!important;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:26px}.stat-grid article,.panel{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.stat-grid article{padding:25px}.stat-grid strong{display:block;font-family:Georgia,serif;font-size:40px;font-weight:500}.stat-grid span{color:var(--muted)}.panel{padding:28px;margin-bottom:24px}.panel h2{margin:0 0 22px;font-family:Georgia,serif;font-size:27px;font-weight:500}.panel h3{margin-top:26px}.panel-heading{display:flex;justify-content:space-between;align-items:center}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{padding:12px 14px;border-bottom:1px solid var(--line);color:var(--muted);font-size:10px;letter-spacing:.1em;text-transform:uppercase}td{padding:15px 14px;border-bottom:1px solid #f0eaf0;vertical-align:top}td a{font-weight:700;text-decoration:none}small{color:var(--muted)}.badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eee8ef;color:#5d4c60;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.status-new{background:#f4e3f1;color:#704d70}.status-reviewing,.status-in_progress{background:#fff0d8;color:#7a5825}.status-confirmed,.status-completed{background:#dff3e8;color:#285e43}.status-cancelled{background:#f7e4e4;color:#8a3939}.filters{display:flex;gap:12px;margin-bottom:22px}.filters input{flex:1}.filters select{min-width:190px}input,select,textarea{width:100%;padding:12px 13px;border:1px solid #d9ced9;border-radius:9px;background:#fff;color:var(--ink);font:inherit}label{display:grid;gap:7px;color:#5f5361;font-size:12px;font-weight:700}.form-stack{display:grid;gap:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.form-grid .full{grid-column:1/-1}.check{display:flex;align-items:center;grid-template-columns:auto 1fr}.check input{width:auto}.form-action{align-self:end}.detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.75fr);gap:24px;align-items:start}.stack{display:grid;gap:0}.prose p,.panel>p{color:var(--muted)}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin:0;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}.info-grid div{padding:18px;background:#fff}.info-grid dt,.fact-list dt{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.info-grid dd,.fact-list dd{margin:5px 0 0;font-weight:600}.fact-list{display:grid;grid-template-columns:auto 1fr;gap:15px 22px}.timeline article{position:relative;padding:0 0 22px 20px;border-left:2px solid var(--line)}.timeline article:before{position:absolute;left:-6px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--rose);content:""}.timeline span,.file-list span{display:block;color:var(--muted);font-size:10px}.timeline p{margin:7px 0 0}.file-list{display:grid;gap:10px}.file-list a{padding:13px;border:1px solid var(--line);border-radius:10px;text-decoration:none;overflow-wrap:anywhere}.back{display:inline-block;margin-bottom:22px;text-decoration:none;font-weight:700}.notice,.error{margin-bottom:22px;padding:14px 16px;border-radius:10px;background:#e1f3e9;color:#285e43}.error{background:#f7e4e4;color:#8a3939}.login-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:radial-gradient(circle at top right,var(--lilac),transparent 38%),radial-gradient(circle at bottom left,#ffe2d1,transparent 42%),var(--cream)}.login-card{width:min(440px,100%);padding:44px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.92);box-shadow:var(--shadow)}.login-card>img{width:70px;height:70px;border-radius:50%;object-fit:cover}.login-card h1{margin:8px 0;font:500 43px/1 Georgia,serif}.login-card>p{color:var(--muted)}.login-card form{display:grid;gap:18px;margin-top:28px}
@media(max-width:1000px){.stat-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}}
@media(max-width:760px){.admin-shell{display:block}.admin-sidebar{position:relative;width:100%;height:auto}.admin-sidebar nav{grid-template-columns:repeat(2,1fr)}.admin-account{margin-top:22px}.admin-main{padding:30px 16px 70px}.page-header{display:grid}.stat-grid,.form-grid,.info-grid{grid-template-columns:1fr}.filters{display:grid}.panel{padding:21px}.login-card{padding:30px 24px}}

/* ADMIN INVITATION UI — 20260728 */
.access-ready,
.access-pending,
.access-expired {
    display: inline-flex;
    align-items: center;
    font-size: 11px;
    font-weight: 700;
}
.access-ready { color: #285e43; }
.access-pending { color: #7a5825; }
.access-expired { color: #8a3939; }
.invitation-state {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 28px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #faf8fa;
}
.invitation-state strong,
.invitation-state span {
    display: block;
}
.invitation-state span {
    margin-top: 3px;
    color: var(--muted);
    font-size: 12px;
}
.inline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.inline-actions form {
    margin: 0;
}
.button-secondary {
    border: 1px solid var(--line);
    background: #fff;
    color: var(--ink);
}
.invitation-primary {
    margin-top: 16px;
}
.form-note {
    margin-top: 18px;
    font-size: 11px;
}
@media(max-width:640px) {
    .invitation-state {
        align-items: flex-start;
        flex-direction: column;
    }
}
