:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#281541;background:#f3effb;font-synthesis:none;--purple:#6d28d9;--deep:#4c1d95;--line:#d8c9ef;--muted:#6e5d83}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button:disabled{opacity:.55;cursor:wait}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.app{max-width:760px;margin:auto;background:#f9f7fd;min-height:100dvh;box-shadow:0 0 70px #4c1d9510}.topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 26px;background:var(--purple);color:white;gap:16px}.app-brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:42px;height:46px;border-radius:13px;background:#ffffff23;border:1px solid #ffffff66;font-size:29px;font-style:italic;font-weight:750}.app-brand strong{font-size:23px;letter-spacing:1.4px}.app-brand small{display:block;font-size:11px;margin-top:3px;color:#eee5ff}.today{font-size:12px;font-weight:600;background:#ffffff20;border:1px solid #ffffff44;padding:8px 10px;border-radius:8px;white-space:nowrap}main{padding:25px 24px 32px}.page-heading{margin-bottom:22px}.page-heading h1{font-size:27px;letter-spacing:-.8px;margin:0 0 7px;line-height:1.2}.page-heading p{font-size:13px;line-height:1.5;color:var(--muted);margin:0}.eyebrow{font-size:10px;letter-spacing:1.3px;font-weight:700;color:var(--purple)}.workspace{display:block}.card{background:#fff;border:1px solid #d8c9ef;border-top:4px solid var(--purple);border-radius:15px;padding:22px;margin-bottom:18px;box-shadow:0 3px 10px #4c1d9507}.card-title{display:flex;gap:12px;align-items:flex-start;margin-bottom:20px}.step{width:35px;height:35px;flex-shrink:0;border-radius:10px;display:grid;place-items:center;background:var(--purple);color:white;font-size:12px;font-weight:750}.card-title h2{font-size:17px;letter-spacing:-.2px;margin:0 0 5px;font-weight:700;line-height:1.4}.card-title p{font-size:12px;line-height:1.5;color:var(--muted);margin:0}.grid{display:grid;gap:13px}.two,.person .grid{grid-template-columns:1fr 1fr}label{display:block;color:#452273;font-size:12px;font-weight:700;line-height:1.5;margin-bottom:16px}.required{color:var(--purple)}.optional{font-size:10px;font-weight:600;color:#79648f;background:#eee7f7;padding:3px 7px;border-radius:5px;margin-left:6px}input,textarea,select{display:block;width:100%;border:1.5px solid #bca3e4;border-radius:9px;background:#f6f1ff;min-height:50px;padding:12px;color:#27133e;font-size:16px;outline:none;margin-top:7px;transition:background .15s,border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{background:#fff;border-color:var(--purple);box-shadow:0 0 0 3px #7c3aed20}input::placeholder,textarea::placeholder{color:#806c98;font-weight:400;font-size:13px}textarea{min-height:95px;line-height:1.5;resize:vertical}.card>label:last-child{margin-bottom:0}.person{padding:17px;background:#f0e7fc;border:1px solid #ceb8ed;border-radius:12px;margin-bottom:14px}.person input,.person select{background:#fff;border-color:#b69adf}.person-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;color:var(--deep);font-size:11px;font-weight:750;letter-spacing:.7px}.remove{min-height:34px;min-width:34px;background:#fff;border:1px solid #d3bce9;border-radius:8px;font-size:21px;color:#6e3a98;display:grid;place-items:center;line-height:1}.remove:hover{color:#a62c48;border-color:#d892a3}.person .lookup-status{font-size:11px;line-height:1.5;color:#67468a;margin:-6px 0 14px}.person .grid label{margin-bottom:0}.count-badge{display:inline-flex;align-items:center;justify-content:center;background:#e8d8ff;color:#5921a8;min-width:24px;height:23px;border-radius:6px;margin-left:6px;font-size:11px;vertical-align:middle}.add-button{width:100%;min-height:46px;background:#eee3ff;color:#5920ad;border:1px solid #bda0e7;border-radius:9px;font-size:12px;font-weight:700;padding:10px}.add-button:hover{background:#e3d0ff}.quantity{position:relative}.quantity span{position:absolute;top:17px;left:13px;font-size:20px;color:var(--purple)}.quantity input{padding-left:42px;font-size:24px;font-weight:650;min-height:62px}.quantity input::placeholder{font-size:24px}.officer-row,.difficulty-row{display:flex;align-items:flex-start;gap:9px;margin-bottom:13px}.officer-input{position:relative;flex:1;min-width:0}.officer-input input{margin:0}.officer-row .remove,.difficulty-row .remove{margin-top:8px;flex-shrink:0}.suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #bca0e1;border-radius:9px;padding:5px;box-shadow:0 9px 25px #4c1d9520;z-index:5;max-height:220px;overflow:auto}.suggestions button{display:block;width:100%;border:0;background:#fff;border-radius:5px;padding:13px;text-align:left;font-size:14px;color:#452273}.suggestions button:hover,.suggestions button:focus{background:#eee3ff}.difficulty-row textarea{margin:0}.difficulty-number{font-size:11px;color:var(--purple);font-weight:700;padding-top:17px}.empty-difficulty{background:#f0e7fc;color:#5b3586;border:1px solid #cfb9ec;border-radius:9px;padding:15px;font-size:12px;margin-bottom:13px}.empty-difficulty span{margin-right:7px}.form-actions{display:flex;flex-direction:column-reverse;gap:12px;margin-top:22px}.form-actions p{color:var(--muted);font-size:11px;text-align:center;line-height:1.5;margin:0}.primary{display:flex;align-items:center;justify-content:center;gap:25px;border:0;background:var(--purple);color:white;border-radius:11px;min-height:54px;padding:15px 21px;font-size:15px;font-weight:700}.primary:hover{background:#5b21b6}.primary>span{font-size:21px}.secondary{background:#ede2fc;color:#552296;border:1px solid #cbb0e8;border-radius:9px;min-height:48px;padding:13px 16px;font-weight:650;font-size:13px}.error{background:#fff0f2;color:#a12040;border:1px solid #e6a6b5;padding:16px;line-height:1.6;border-radius:10px;font-size:13px;margin-top:16px}dialog{border:1px solid #c5a9e7;border-radius:18px;padding:27px;max-width:580px;width:calc(100% - 26px);max-height:90dvh;color:#281541;box-shadow:0 25px 90px #23103960}dialog::backdrop{background:#281144b5;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.dialog-head h2{font-size:28px;margin:7px 0;letter-spacing:-.5px}.icon-button{border:1px solid #d5c0eb;border-radius:10px;background:#f2eafa;color:#6d3e99;width:40px;height:40px;font-size:25px}.result-hint{font-size:12px;line-height:1.5;color:var(--muted)}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f0ff;border:1px solid #d3b9ee;border-radius:10px;padding:18px;font:13px/1.8 "Segoe UI",sans-serif;max-height:48dvh;overflow:auto}.dialog-actions{display:flex;gap:10px}.dialog-actions button{flex:1}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100;max-width:90vw;width:max-content;padding:14px 20px;border-radius:10px;background:#4c1d95;color:white;text-align:center;font-size:13px;box-shadow:0 6px 25px #35105930}button:focus-visible,a:focus-visible{outline:3px solid #a578df;outline-offset:3px}@media(max-width:520px){.topbar{padding:17px 18px}.app-brand strong{font-size:22px}.today{font-size:11px;padding:8px}main{padding:22px 15px 28px}.page-heading{padding:0 3px}.page-heading h1{font-size:25px}.page-heading p{font-size:12px}.card{padding:19px 15px;margin-bottom:16px}.card-title{gap:10px;margin-bottom:18px}.card-title h2{font-size:16px}.card-title p{font-size:11px}.step{width:32px;height:32px;font-size:11px}.person{padding:14px 12px}.person .grid{grid-template-columns:1fr;gap:13px}.grid{gap:11px}.quantity input{padding-left:34px}.quantity span{left:11px}.dialog-actions{flex-direction:column}dialog{padding:22px 17px}.dialog-head h2{font-size:25px}pre{max-height:43dvh;padding:14px;font-size:12px}}@media(max-width:360px){.two{grid-template-columns:1fr}.topbar{gap:9px}.app-brand{gap:8px}.brand-mark{width:35px;height:40px}.card-title h2{font-size:15px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}select{cursor:pointer;padding-right:28px}select:invalid{color:#806c98}select option{color:#27133e;background:#fff}
.draft-status{margin:0 0 18px;padding:11px 13px;border:1px solid #d8c9ef;border-radius:9px;background:#eee5fc;color:#603c87;font-size:11px;line-height:1.5}
