@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,Noto Sans SC,sans-serif;color:#18342f;background:#eef2ed;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{border:0;cursor:pointer}.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;padding:30px 22px;background:#173e37;color:#fff;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 35px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#dfef6d;color:#173e37;font-weight:800;font-size:20px}.brand strong,.brand small{display:block}.brand small{margin-top:3px;color:#a9bdb8;font-size:11px;letter-spacing:.12em}nav{display:grid;gap:8px}nav a{color:#a9bdb8;text-decoration:none;display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;font-size:14px}nav a:hover,nav a.active{background:#28564e;color:#fff}nav span{width:27px;height:27px;display:grid;place-items:center;border:1px solid #477068;border-radius:8px;font-size:11px}.safe-mode{margin-top:auto;padding:14px;border:1px solid #3e675f;border-radius:14px;display:flex;gap:10px;align-items:center}.safe-mode i{width:9px;height:9px;border-radius:50%;background:#dfef6d;box-shadow:0 0 0 5px #dfef6d1f}.safe-mode strong,.safe-mode small{display:block}.safe-mode strong{font-size:12px}.safe-mode small{color:#9cb4ae;font-size:10px;margin-top:3px}main{grid-column:2;width:min(1180px,calc(100vw - 248px));padding:36px 48px 80px;margin:0 auto}header{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}h1{font-size:24px;margin:4px 0 0}.eyebrow{margin:0;color:#8c9e99;font-size:10px;letter-spacing:.18em;font-weight:700}.date{color:#6d817b;font-size:12px}.session-summary{display:flex;align-items:center;gap:12px}.session-summary form{margin:0}.logout-button{background:transparent;border:1px solid var(--line);color:var(--muted);padding:8px 12px}.toast{position:sticky;top:12px;z-index:3;padding:12px 16px;border-radius:10px;margin-bottom:14px;font-size:13px;box-shadow:0 8px 30px #14322c1a}.toast.success{background:#ebf5c5;color:#3d5506}.toast.error{background:#fee8e5;color:#a0382d}.hero{background:#fbfcf8;border-radius:24px;min-height:300px;padding:42px 46px;display:grid;grid-template-columns:1.45fr .75fr;gap:40px;align-items:center;box-shadow:0 18px 50px #25413812;border:1px solid #e4e9e3}.hero h2{font-size:43px;line-height:1.12;letter-spacing:-.04em;margin:18px 0;color:#173e37}.hero h2 em{font-style:normal;color:#7b8f24}.hero p{color:#71817d;font-size:14px;max-width:610px;line-height:1.8}.pill{display:inline-flex;background:#e9f2bd;color:#566816;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:700}.pill.muted{background:#eceeeb;color:#77817e}.schedule-card{background:#173e37;color:#fff;padding:28px;border-radius:19px;min-height:200px;display:flex;flex-direction:column;justify-content:center}.schedule-card small{color:#a7bbb5;font-size:11px}.schedule-card strong{font-size:23px;margin:10px 0 0}.schedule-card p{color:#a7bbb5;font-size:12px;margin:8px 0 22px}.secondary{background:#dfef6d;color:#173e37;padding:11px 14px;border-radius:10px;font-weight:700;font-size:12px}.secondary:disabled,button:disabled{opacity:.5;cursor:not-allowed}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.metrics article{background:#fff;padding:20px;border-radius:15px;border:1px solid #e1e7e0}.metrics small,.metrics strong{display:block}.metrics small{color:#81908c;font-size:11px}.metrics strong{margin-top:8px;font-size:24px}.panel{background:#fbfcf8;border:1px solid #e1e7e0;border-radius:20px;padding:30px;margin-top:18px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.panel h3{font-size:21px;margin:4px 0 0}.tag{background:#edf0eb;color:#677773;border-radius:99px;padding:6px 11px;font-size:10px;font-weight:700}.switch input{display:none}.switch span{display:block;width:46px;height:26px;border-radius:99px;background:#c8d0cd;position:relative;transition:.2s}.switch span:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:.2s}.switch input:checked+span{background:#729019}.switch input:checked+span:after{transform:translate(20px)}.settings-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.settings-grid label{position:relative;color:#60716c;font-size:11px;font-weight:600}.settings-grid input{width:100%;margin-top:8px;border:1px solid #d9e1dc;background:#fff;border-radius:10px;padding:12px;color:#173e37;outline:none}.settings-grid input:focus{border-color:#78941d;box-shadow:0 0 0 3px #78941d1a}.settings-grid label small{position:absolute;right:12px;bottom:12px;color:#9aa8a4}.settings-grid .wide{grid-column:span 4}.form-actions{grid-column:span 4;display:flex;justify-content:space-between;align-items:center;padding-top:4px}.form-actions span{color:#8a9995;font-size:11px}.form-actions button,.drop-zone button,.confirm button{background:#173e37;color:#fff;border-radius:10px;padding:12px 20px;font-size:12px;font-weight:700}.drop-zone{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;border:1px dashed #afbeb9;border-radius:15px;padding:20px;background:#f6f8f4}.drop-zone>input{display:none}.drop-zone>label:first-of-type{display:flex;align-items:center;gap:14px;cursor:pointer}.drop-zone label strong,.drop-zone label small{display:block}.drop-zone label small{color:#879692;font-size:11px;margin-top:3px}.upload-icon{width:40px;height:40px;border-radius:11px;background:#e8efca;color:#58710d;display:grid;place-items:center;font-size:20px}.check{grid-column:1;color:#5f716c;font-size:12px}.check input{margin-right:8px;accent-color:#718b19}.template-step{grid-column:1 / -1;display:flex;align-items:center;gap:13px;padding:2px 0 16px;border-bottom:1px solid #dfe6e1}.template-step strong,.template-step small{display:block}.template-step small{color:#879692;font-size:11px;margin-top:3px}.step-number{flex:0 0 auto;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#173e37;color:#fff;font-size:11px;font-weight:700}.template-button{margin-left:auto;background:#dfef6d;color:#173e37;text-decoration:none;border-radius:10px;padding:11px 16px;font-size:12px;font-weight:700}.template-button:hover{background:#d3e45d}.upload-step-title{grid-column:1 / -1;display:flex;align-items:center;gap:10px;color:#334c46;font-size:13px;margin-top:2px}.preview{margin-top:20px;border-top:1px solid #e1e6e0;padding-top:20px}.preview-stats{display:flex;gap:8px;margin-bottom:14px}.preview-stats span{background:#edf1ec;border-radius:7px;padding:6px 9px;color:#62726d;font-size:11px}.preview-stats .danger{background:#fde8e5;color:#a64034}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:#879691;font-weight:600;border-bottom:1px solid #dae2dc;padding:10px}td{border-bottom:1px solid #e8ede8;padding:12px 10px;color:#445953}td small{display:block;color:#96a39f;margin-top:2px}.errors{background:#fff0ed;color:#9c3c31;padding:14px 14px 14px 32px;border-radius:10px;font-size:12px;line-height:1.8}.confirm{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.confirm p{color:#81908c;font-size:11px}.preview-note{color:#7b8d87;font-size:11px;line-height:1.7;margin:-3px 0 14px}.recipient-table{min-width:900px}.recipient-table th:first-child,.recipient-table td:first-child{width:42px;text-align:center}.recipient-table input[type=checkbox]{accent-color:#718b19;width:16px;height:16px}.recipient-table tr.excluded td{background:#fff7f5;color:#8b716c}.exception-line{display:block;line-height:1.7;white-space:nowrap}.exclusion-actions{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:end;margin-top:18px;padding:16px;background:#f3f6f1;border-radius:12px}.exclusion-actions label{color:#60716c;font-size:11px;font-weight:600}.exclusion-actions input{display:block;width:100%;margin-top:7px;border:1px solid #d9e1dc;border-radius:9px;padding:11px;background:#fff;color:#173e37}.exclusion-actions button{background:#173e37;color:#fff;border-radius:10px;padding:12px 18px;font-size:12px;font-weight:700}.text-button{background:#edf1ec;color:#526761;border-radius:8px;padding:8px 12px;font-size:11px;font-weight:700}.table-scroll{overflow-x:auto}.jobs-panel table{min-width:860px}.status{display:inline-flex;padding:5px 8px;border-radius:999px;background:#edf1ec;color:#667772;font-size:10px;font-weight:700}.status.completed{background:#e9f2bd;color:#566816}.status.partial_failed,.status.failed{background:#fde8e5;color:#a64034}.status.running{background:#e5eef8;color:#315f86}.empty-state{margin:0;padding:24px;border-radius:12px;background:#f4f7f3;color:#83918d;text-align:center;font-size:12px}@media(max-width:900px){.shell{display:block}.sidebar{position:relative;width:auto;height:auto}.sidebar nav,.safe-mode{display:none}main{width:100%;padding:24px}.hero{grid-template-columns:1fr;padding:28px}.hero h2{font-size:34px}.metrics,.settings-grid{grid-template-columns:repeat(2,1fr)}.settings-grid .wide,.form-actions{grid-column:span 2}.exclusion-actions{grid-template-columns:1fr}}
