:root{--bg-deep: #f3ebe1;--bg-mid: #ebe0d2;--amber: #c4783a;--amber-deep: #a45f2a;--amber-soft: rgba(196, 120, 58, .18);--ink: #3d2a1f;--ink-soft: #6b5344;--mist: #8a9a96;--glass: rgba(255, 250, 244, .72);--glass-border: rgba(196, 120, 58, .22);--danger: #b54a3a;--ok: #3f7a5a;--radius: 18px;--shadow: 0 18px 50px rgba(61, 42, 31, .08);--font-display: "Cormorant Garamond", "Noto Serif SC", serif;--font-body: "Noto Sans SC", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);font-family:var(--font-body);background:radial-gradient(1200px 700px at 12% -10%,rgba(196,120,58,.22),transparent 55%),radial-gradient(900px 600px at 90% 10%,rgba(138,154,150,.18),transparent 50%),radial-gradient(800px 500px at 50% 100%,rgba(164,95,42,.12),transparent 55%),linear-gradient(165deg,var(--bg-deep),var(--bg-mid));background-attachment:fixed}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg width='160' height='160' viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M80 18c12 22 34 34 54 36-18 8-34 24-40 46-8-20-28-36-50-42 18-4 30-18 36-40z' fill='%233D2A1F'/%3E%3C/svg%3E");background-size:180px 180px;z-index:0}a{color:inherit;text-decoration:none}button,input{font:inherit}.page-shell{position:relative;z-index:1;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 18px 48px}.form-card{width:min(520px,100%);background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:calc(var(--radius) + 6px);box-shadow:var(--shadow);padding:36px 28px 30px;animation:rise-in .7s ease both}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.brand{text-align:center;margin-bottom:28px}.brand-eyebrow{display:inline-block;color:var(--amber-deep);letter-spacing:.22em;font-size:.72rem;text-transform:uppercase;margin-bottom:10px}.brand-title{margin:0;font-family:var(--font-display);font-weight:600;font-size:clamp(2.2rem,7vw,3rem);letter-spacing:.08em;line-height:1.1;position:relative;display:inline-block}.brand-title:after{content:"";position:absolute;left:10%;right:10%;bottom:-8px;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,var(--amber),transparent);overflow:hidden}.brand-title:before{content:"";position:absolute;left:10%;bottom:-8px;width:28%;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,#fff6e8,transparent);animation:shimmer 3.2s ease-in-out infinite}@keyframes shimmer{0%{transform:translate(0);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translate(240%);opacity:0}}.brand-desc{margin:18px auto 0;max-width:28em;color:var(--ink-soft);font-size:.95rem;line-height:1.65}.field{margin-bottom:18px}.field label{display:block;margin-bottom:8px;font-size:.9rem;font-weight:500;color:var(--ink)}.field .hint{margin-left:6px;color:var(--mist);font-weight:400;font-size:.8rem}.required{color:var(--amber-deep);margin-left:2px}.input{width:100%;border:1px solid rgba(61,42,31,.14);background:#fffcf8e6;border-radius:12px;padding:12px 14px;color:var(--ink);outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.input:focus{border-color:var(--amber);box-shadow:0 0 0 4px var(--amber-soft);background:#fffdf9}.account-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:10px;animation:row-in .35s ease both}@keyframes row-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.icon-btn{width:44px;height:44px;border-radius:12px;border:1px solid rgba(61,42,31,.12);background:#fffcf8d9;color:var(--ink-soft);cursor:pointer;transition:background .2s ease,color .2s ease,transform .15s ease}.icon-btn:hover:not(:disabled){color:var(--amber-deep);background:#fff;transform:translateY(-1px)}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.account-toolbar{display:flex;gap:10px;margin-top:4px}.add-btn{display:inline-flex;align-items:center;gap:6px;border:1px dashed rgba(196,120,58,.45);background:transparent;color:var(--amber-deep);border-radius:999px;padding:8px 14px;cursor:pointer;transition:background .2s ease,border-color .2s ease}.add-btn:hover:not(:disabled){background:var(--amber-soft);border-style:solid}.add-btn:disabled{opacity:.4;cursor:not-allowed}.submit-btn{position:relative;overflow:hidden;width:100%;margin-top:22px;border:none;border-radius:999px;padding:14px 18px;color:#fffaf3;font-weight:600;letter-spacing:.08em;cursor:pointer;background:linear-gradient(120deg,var(--amber-deep),var(--amber),#d4924f);box-shadow:0 10px 28px #a45f2a47;animation:breathe 3.4s ease-in-out infinite;transition:filter .2s ease,transform .15s ease}.submit-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 48%,transparent 62%);transform:translate(-120%);animation:sweep 4s ease-in-out infinite}@keyframes breathe{0%,to{transform:scale(1);box-shadow:0 10px 28px #a45f2a47}50%{transform:scale(1.015);box-shadow:0 14px 34px #a45f2a5c}}@keyframes sweep{0%,35%{transform:translate(-120%)}65%,to{transform:translate(120%)}}.submit-btn:hover:not(:disabled){filter:brightness(1.05)}.submit-btn:disabled{opacity:.65;cursor:wait;animation:none}.error-text{margin-top:12px;color:var(--danger);font-size:.88rem;text-align:center}.closed-panel,.success-panel{text-align:center;padding:18px 8px 8px}.success-mark{width:64px;height:64px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--ok),#5c9a74);box-shadow:0 10px 28px #3f7a5a47;animation:breathe 3s ease-in-out infinite;font-size:1.6rem}.success-panel h2,.closed-panel h2{font-family:var(--font-display);font-weight:600;letter-spacing:.06em;margin:0 0 10px}.success-panel p,.closed-panel p{color:var(--ink-soft);line-height:1.6;margin:0 0 22px}.ghost-btn{border:1px solid rgba(61,42,31,.16);background:#fffcf8cc;color:var(--ink);border-radius:999px;padding:10px 18px;cursor:pointer;transition:background .2s ease,border-color .2s ease}.ghost-btn:hover{border-color:var(--amber);background:#fff}.admin-shell{position:relative;z-index:1;min-height:100vh;display:grid;grid-template-columns:220px 1fr}.admin-side{padding:28px 18px;border-right:1px solid rgba(61,42,31,.08);background:#fffaf48c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.admin-side h1{font-family:var(--font-display);font-size:1.55rem;letter-spacing:.08em;margin:0 0 6px}.admin-side .sub{color:var(--ink-soft);font-size:.82rem;margin-bottom:28px}.nav-link{display:block;padding:10px 12px;border-radius:10px;color:var(--ink-soft);margin-bottom:6px;transition:background .15s ease,color .15s ease}.nav-link.active,.nav-link:hover{background:var(--amber-soft);color:var(--amber-deep)}.admin-main{padding:28px 24px 40px}.admin-top{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:20px}.stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.stat-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow)}.stat-card .label{color:var(--ink-soft);font-size:.8rem}.stat-card .value{margin-top:6px;font-family:var(--font-display);font-size:1.8rem;letter-spacing:.04em}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}.toolbar .input{max-width:260px}.date-filter{display:inline-flex;align-items:center;gap:6px;color:var(--ink-soft);font-size:.88rem}.date-filter .input{max-width:160px;padding:8px 10px}.role-select{max-width:180px;padding:6px 10px;font-size:.88rem}.primary-btn,.danger-btn,.soft-btn{border:none;border-radius:999px;padding:9px 16px;cursor:pointer;font-weight:500}.primary-btn{color:#fffaf3;background:linear-gradient(120deg,var(--amber-deep),var(--amber));box-shadow:0 8px 20px #a45f2a38}.soft-btn{background:#fffcf8e6;border:1px solid rgba(61,42,31,.12);color:var(--ink)}.danger-btn{background:#b54a3a1a;color:var(--danger)}.table-wrap{overflow:auto;border:1px solid rgba(61,42,31,.1);border-radius:14px;background:#fffcf8d1;box-shadow:var(--shadow)}table.data-table{width:100%;border-collapse:collapse;min-width:640px}table.data-table th,table.data-table td{padding:12px 14px;text-align:left;border-bottom:1px solid rgba(61,42,31,.14);border-right:1px solid rgba(61,42,31,.08);white-space:nowrap}table.data-table th:last-child,table.data-table td:last-child{border-right:none}table.data-table th{background:#f3e6d8d9;font-weight:600;font-size:.86rem;position:sticky;top:0;border-bottom:1px solid rgba(61,42,31,.18)}table.data-table tr:hover td{background:#c4783a0d}table.submissions-table tbody tr.submission-group.tone-a td{background:#fffaf4eb}table.submissions-table tbody tr.submission-group.tone-b td{background:#f3e6d873}table.submissions-table tbody tr.submission-group td{border-bottom:1px solid rgba(196,120,58,.18)}table.submissions-table tbody tr.submission-group td:first-child{border-left:2px solid rgba(196,120,58,.55)}table.submissions-table tbody tr.submission-group td:last-child{border-right:2px solid rgba(196,120,58,.55)}table.submissions-table tbody tr.submission-group.group-start td{border-top:2px solid rgba(196,120,58,.55)}table.submissions-table tbody tr.submission-group.group-end td{border-bottom:2px solid rgba(196,120,58,.55)}table.submissions-table tbody tr.submission-group.group-start td:first-child{border-top-left-radius:10px}table.submissions-table tbody tr.submission-group.group-start td:last-child{border-top-right-radius:10px}table.submissions-table tbody tr.submission-group.group-end td:first-child{border-bottom-left-radius:10px}table.submissions-table tbody tr.submission-group.group-end td:last-child{border-bottom-right-radius:10px}.account-cell{display:inline-flex;align-items:center;gap:8px}.copy-btn{border:1px solid rgba(196,120,58,.35);background:#fffcf8f2;color:var(--amber-deep);border-radius:999px;padding:3px 10px;font-size:.78rem;cursor:pointer;line-height:1.4;transition:background .15s ease,border-color .15s ease}.copy-btn:hover{background:var(--amber-soft);border-color:var(--amber)}.copy-btn.copied{color:var(--ok);border-color:#3f7a5a66}.muted-dash{color:#3d2a1f47}mark.search-hit{background:linear-gradient(180deg,#ffe08a,#ffc857);color:var(--ink);padding:1px 4px;border-radius:4px;font-weight:600;-webkit-box-decoration-break:clone;box-decoration-break:clone}table.submissions-table tbody tr.submission-group.row-hit td{background:#ffc85738!important}.pagination{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:14px;color:var(--ink-soft);font-size:.9rem}.login-card{width:min(400px,100%)}.toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle input{accent-color:var(--amber)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#3d2a1f47;display:grid;place-items:center;z-index:50;padding:16px}.modal{width:min(420px,100%);background:#fffaf4;border-radius:16px;border:1px solid var(--glass-border);padding:22px;box-shadow:var(--shadow)}.modal h3{margin:0 0 14px;font-family:var(--font-display);letter-spacing:.05em}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.empty{text-align:center;padding:36px 12px;color:var(--ink-soft)}@media(max-width:860px){.admin-shell{grid-template-columns:1fr}.admin-side{border-right:none;border-bottom:1px solid rgba(61,42,31,.08)}.stat-row{grid-template-columns:1fr}}@media(max-width:520px){.form-card{padding:28px 18px 24px}.admin-main{padding:18px 14px 28px}}
