@font-face{font-family:Michroma;src:url('assets/Michroma-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{color-scheme:dark;--black:#070609;--silver:#e5e5ef;--smoke:#a8a2b5;--pink:#f099cc;--violet:#aa91ef;--line:rgba(227,220,245,.12)}
*{box-sizing:border-box}body{margin:0;background:var(--black);color:var(--silver);font:15px/1.5 'Segoe UI',Arial,sans-serif;min-width:320px}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--pink);outline-offset:5px}button{color:inherit}::selection{background:#935e9e;color:white}[hidden]{display:none!important}
.ambience{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse 500px 160px at 50% 25%,rgba(92,33,83,.16),transparent 80%),radial-gradient(ellipse 420px 300px at 3% 53%,rgba(72,53,108,.08),transparent 90%),radial-gradient(ellipse 340px 250px at 96% 60%,rgba(102,45,84,.07),transparent 90%);z-index:-1}
.workspace{max-width:1280px;min-height:100svh;margin:auto;padding:58px 64px 30px;display:flex;flex-direction:column}.masthead{text-align:center;padding:25px 0 72px}.wordmark{margin:0 auto;width:min(100%,970px);font-weight:400;filter:drop-shadow(0 12px 24px rgba(133,38,113,.12))}.wordmark svg{width:100%;height:auto;display:block;overflow:visible}.logo-type{font:86px Michroma,Arial,sans-serif}.subtitle{margin:4px 0 0;padding-left:.4em;color:#bbb1c5;font-size:13px;letter-spacing:.42em}
.contacts{width:100%;position:relative}.section-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:31px;gap:16px}.section-heading{display:flex;align-items:center;gap:12px}h2{font-size:18px;line-height:1.3;font-weight:500;letter-spacing:-.02em;margin:0}.count{font-size:11px;line-height:22px;min-width:24px;text-align:center;padding:0 6px;border:1px solid var(--line);border-radius:8px;color:#bcb4cb;background:#ffffff04}.save-state{font-size:11px;color:#b1a8bd;display:flex;gap:7px;align-items:center;margin:0}.status-dot{width:5px;height:5px;border-radius:50%;background:#bca8d3;box-shadow:0 0 7px #c1a4e149}.save-state.error{color:#ffc0d1}.save-state.error .status-dot{background:#ff8cae}
.column-headings,.contact-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) minmax(0,1.3fr) 30px;gap:20px}.column-headings{padding:0 0 13px;color:#b8afc5;font-size:12px}.column-headings>span{padding-left:21px}.rows{display:flex;flex-direction:column;gap:16px}.contact-row{position:relative;align-items:start}.contact-row.entering{animation:arrive .27s ease-out}.field{position:relative;min-width:0}.mobile-label{display:none}.input-shell{position:relative;isolation:isolate;border-radius:18px;background:linear-gradient(117deg,rgba(255,255,255,.11),rgba(255,255,255,.025) 42%,rgba(216,182,249,.035) 70%,rgba(255,255,255,.07));box-shadow:inset 0 1px 0 #ffffff2a,inset 1px 0 0 #ffffff0e,inset -1px 0 0 #f5d7ff0c,inset 0 -1px 0 #ffffff11,0 7px 20px #00000035;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);transition:box-shadow .2s,background .2s}.input-shell:before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;border:1px solid transparent;background:linear-gradient(112deg,#ffffff3b,transparent 26%,#ffffff07 55%,#f8d5ff21) border-box;mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask-composite:exclude;z-index:2}.input-shell:after{content:'';position:absolute;left:16%;right:30%;height:1px;top:0;background:linear-gradient(90deg,transparent,#ffffff55,transparent);pointer-events:none}.input-shell:focus-within{background:linear-gradient(117deg,#ffffff15,#a477cc0c 70%,#ffffff0e);box-shadow:inset 0 1px 0 #f8e6ff55,0 0 0 1px #ceabdd55,0 0 25px #b355b00c}.contact-input{background:transparent;border:0;border-radius:18px;color:#eeeaf4;padding:18px 21px;width:100%;height:59px;font-size:14px;min-width:0;outline-offset:3px!important}.contact-input::placeholder{color:#8e869d;font-size:13px}.contact-input[aria-invalid=true]{box-shadow:inset 0 0 0 1px #e88bab}.field-error{font-size:11px;color:#ffb6cc;margin:7px 5px 0;line-height:1.4}.remove-button{width:30px;height:36px;display:grid;place-items:center;background:none;border:0;color:#8c8399;border-radius:10px;margin-top:12px;transition:color .16s,background .16s}.remove-button:hover{color:#ffb7d9;background:#f099cc0e}.add-area{display:flex;align-items:center;flex-direction:column;margin-top:34px;gap:12px;padding-right:50px}.add-button{width:82px;height:47px;display:grid;place-items:center;border:1px solid #ddd3ef38;border-radius:18px;background:linear-gradient(145deg,#ffffff19,#ffffff03 50%,#ffffff0b);box-shadow:inset 0 1px 1px #ffffff40,inset 0 -1px 1px #ffffff12,0 7px 24px #00000080;backdrop-filter:blur(18px);color:#e9deef;transition:box-shadow .2s,border-color .2s,background .2s}.add-button:hover{border-color:#e6bbdf77;box-shadow:inset 0 1px 1px #ffffff66,0 0 22px #bf62bc21;background:linear-gradient(145deg,#ffffff22,#a369c611 50%,#ffffff0e)}.add-button:active{background:#d2aad926}.add-caption{font-size:11px;color:#b0a6bf}.add-button:focus-visible+.add-caption,.add-area:hover .add-caption{color:#e2cbe9}
footer{margin-top:auto;padding-top:110px;text-align:center;color:#a59bae;font-size:11px}.footer-rule{display:block;width:24px;height:1px;background:#ffffff36;margin:0 auto 16px}footer p{margin:0}.storage-note{margin-top:5px;font-size:10px;color:#968c9f}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:10;display:flex;align-items:center;gap:18px;max-width:calc(100% - 28px);border:1px solid #ddc4ed33;border-radius:16px;background:#241e2cf2;box-shadow:0 12px 40px #0009;padding:13px 15px 13px 20px;font-size:13px;backdrop-filter:blur(24px)}.toast button{border:0;background:none;padding:6px;color:#f0c6e5;font-size:13px;white-space:nowrap}#dismiss-toast{font-size:21px;line-height:1;color:#b3a6bf}.toast span{white-space:nowrap}
@keyframes arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.workspace{padding-top:82px}.masthead{padding-bottom:85px}}
@media(max-width:900px){.workspace{padding:40px 30px 25px}.masthead{padding:25px 0 60px}.column-headings,.contact-row{gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.25fr) 28px}.contact-input{padding-left:16px;padding-right:16px;font-size:13px}.column-headings>span{padding-left:16px}.add-area{padding-right:40px}.subtitle{margin-top:10px;font-size:11px}}
@media(max-width:600px){.workspace{padding:34px 22px 22px}.masthead{padding:15px 0 49px}.wordmark{width:105%;margin-left:-2.5%}.subtitle{margin-top:14px;font-size:10px}.section-bar{margin-bottom:21px}.save-state{font-size:10px;gap:6px}h2{font-size:17px}.column-headings{display:none}.rows{gap:22px}.contact-row{display:flex;flex-direction:column;gap:16px;border-bottom:1px solid #ffffff0b;padding-bottom:22px;padding-right:0}.field{width:100%}.mobile-label{display:block;font-size:11px;color:#beb3cc;margin:0 0 8px 15px}.input-shell,.contact-input{border-radius:17px}.contact-input{height:54px;font-size:16px;padding:15px 18px}.contact-input::placeholder{font-size:13px}.remove-button{position:absolute;right:-3px;top:-12px;margin:0;width:40px;height:40px;z-index:3}.add-area{margin-top:23px;padding:0}.add-button{width:82px;height:47px}footer{padding-top:70px}.toast{gap:10px;font-size:12px;padding:10px 12px}.toast button{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Team performance details */
.member-summary{grid-column:1/4;display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;padding:12px 4px 13px 7px;border-bottom:1px solid #ffffff0b}.status-chip,.warning-chip,.fine-chip{display:inline-flex;align-items:center;min-height:27px;padding:4px 10px;border:1px solid #ffffff13;border-radius:999px;background:#ffffff05;font-size:11px;line-height:1.2;color:#d1cbd8}.status-chip:before{content:'';width:6px;height:6px;border-radius:50%;background:#aaa;margin-right:7px;box-shadow:0 0 7px currentColor}.status-0{color:#f5d7ec;border-color:#d994ca44;background:#c04a9220}.status-0:before{background:#ef8ecb}.status-1{color:#c6c2d8}.status-1:before{background:#afa1dc}.status-2{color:#f5d49b;border-color:#e8ac5140;background:#c98b2217}.status-2:before{background:#eabd67}.status-3{color:#f3afba;border-color:#ed788333;background:#cb45531c}.status-3:before{background:#ed7883}.warning-chip{color:#c5bdd0}.warning-dot{width:6px;height:6px;border-radius:50%;background:#b4a2d1;margin-right:7px}.warning-limit{color:#ffb2be;border-color:#ec7c8a46;background:#e3576718}.warning-limit .warning-dot{background:#f27a8a}.fine-chip{color:#d6c8e7}.details-toggle{border:1px solid #ffffff13;background:#ffffff05;color:#c6b5d4;border-radius:999px;padding:5px 11px;font-size:11px;margin-left:auto;transition:background .18s,border-color .18s}.details-toggle:hover{background:#d194db14;border-color:#d49adb44;color:#f1dbf2}.member-details{grid-column:1/-1;display:grid;grid-template-columns:minmax(130px,.8fr) minmax(140px,.8fr) minmax(250px,1.6fr);gap:19px 23px;padding:18px 20px 20px;margin:0 0 10px;border:1px solid #d6c3e516;border-radius:18px;background:linear-gradient(120deg,#ffffff08,#ffffff02);box-shadow:inset 0 1px #ffffff12}.detail-field{display:flex;flex-direction:column;gap:9px;color:#c5bbd0;font-size:11px}.muted{color:#8e849c;font-size:10px}.glass-control{width:100%;min-width:0;border:1px solid #ffffff1b;border-radius:11px;background:#0e0b12;color:#e9e3ef;padding:10px 12px;font:inherit;font-size:12px;outline:none}.glass-control:focus-visible{border-color:#d7a4d4;outline:2px solid #d7a4d455;outline-offset:1px}.glass-control option{background:#17131c;color:#eee}.stepper{display:flex;align-items:center;gap:13px}.stepper button,.fine-remove{width:31px;height:31px;border:1px solid #ffffff1c;border-radius:10px;background:#ffffff08;color:#eee4f3;font-size:19px;line-height:1}.stepper button:disabled{opacity:.35;cursor:default}.stepper button:not(:disabled):hover{background:#d998d51c;border-color:#e0b2df55}.stepper-value{min-width:16px;text-align:center;font-size:14px;color:#f0e9f4}.fine-list{display:flex;flex-direction:column;gap:7px}.fine-item{display:grid;grid-template-columns:auto 1fr auto 28px;gap:11px;align-items:center;border-bottom:1px solid #ffffff0c;padding:7px 0;color:#e2dce9;font-size:11px}.fine-item strong{color:#e8d8f0;font-size:12px}.fine-date{white-space:nowrap}.fine-remove{width:25px;height:25px;font-size:18px;color:#a99caf}.fine-form{display:grid;grid-template-columns:minmax(82px,.7fr) 76px minmax(100px,1fr) auto;gap:7px;margin-top:5px}.fine-form .glass-control{padding:9px 10px}.fine-submit{border:1px solid #d9b8e04b;border-radius:11px;background:#d7a3d610;color:#e9d4ec;padding:7px 12px;font-size:11px;white-space:nowrap}.fine-submit:hover{background:#d7a3d621}.note-field{grid-column:1/-1}.note-input{resize:vertical;min-height:58px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* One brief, session-only light-speed arrival */
.warp{position:fixed;inset:0;z-index:30;background:#030207;overflow:hidden;pointer-events:none;animation:space-out 1.1s cubic-bezier(.2,.72,.15,1) both}.space{position:absolute;inset:-15%;background:radial-gradient(ellipse at center,#20112d00 0 9%,#0b0610 46%,#030207 78%);perspective:120px}.space:before{content:'';position:absolute;width:2px;height:2px;left:50%;top:50%;border-radius:50%;background:#fff;box-shadow:0 0 16px 5px #dfa5eb,0 0 80px 25px #834eb0aa}.space i{--x:0px;--y:0px;--length:80px;position:absolute;top:50%;left:50%;width:1px;height:var(--length);transform-origin:50% 0;transform:rotate(var(--angle)) translateY(0) scaleY(.05);opacity:0;background:linear-gradient(to bottom,#fff 0%,#e7cdff 20%,#ad89d9 70%,transparent 100%);box-shadow:0 0 7px #c89ef9;animation:star-streak .82s cubic-bezier(.12,.58,.28,1) both;animation-delay:var(--delay,0s)}.space i:nth-child(1){--angle:0deg;--length:220px;--delay:.05s}.space i:nth-child(2){--angle:15deg;--length:160px;--delay:.1s}.space i:nth-child(3){--angle:29deg;--length:250px;--delay:.12s}.space i:nth-child(4){--angle:48deg;--length:150px;--delay:.02s}.space i:nth-child(5){--angle:67deg;--length:210px;--delay:.15s}.space i:nth-child(6){--angle:82deg;--length:280px;--delay:.05s}.space i:nth-child(7){--angle:101deg;--length:170px;--delay:.19s}.space i:nth-child(8){--angle:119deg;--length:230px;--delay:.08s}.space i:nth-child(9){--angle:139deg;--length:190px;--delay:.16s}.space i:nth-child(10){--angle:157deg;--length:250px;--delay:.04s}.space i:nth-child(11){--angle:174deg;--length:160px;--delay:.12s}.space i:nth-child(12){--angle:194deg;--length:230px;--delay:.18s}.space i:nth-child(13){--angle:211deg;--length:175px;--delay:.06s}.space i:nth-child(14){--angle:229deg;--length:260px;--delay:.15s}.space i:nth-child(15){--angle:245deg;--length:185px;--delay:.03s}.space i:nth-child(16){--angle:263deg;--length:240px;--delay:.11s}.space i:nth-child(17){--angle:279deg;--length:170px;--delay:.2s}.space i:nth-child(18){--angle:295deg;--length:230px;--delay:.07s}.space i:nth-child(19){--angle:312deg;--length:180px;--delay:.16s}.space i:nth-child(20){--angle:328deg;--length:265px;--delay:.05s}.space i:nth-child(21){--angle:342deg;--length:200px;--delay:.14s}.space i:nth-child(22){--angle:352deg;--length:150px;--delay:.02s}.space i:nth-child(23){--angle:39deg;--length:210px;--delay:.22s}.space i:nth-child(24){--angle:92deg;--length:190px;--delay:.23s}.space i:nth-child(25){--angle:147deg;--length:220px;--delay:.2s}.space i:nth-child(26){--angle:183deg;--length:165px;--delay:.23s}.space i:nth-child(27){--angle:236deg;--length:215px;--delay:.19s}.space i:nth-child(28){--angle:271deg;--length:185px;--delay:.21s}.space i:nth-child(29){--angle:321deg;--length:245px;--delay:.18s}.space i:nth-child(30){--angle:333deg;--length:190px;--delay:.25s}@keyframes star-streak{0%{opacity:0;transform:rotate(var(--angle)) translateY(0) scaleY(.08)}22%{opacity:.95}82%{opacity:.85}100%{opacity:0;transform:rotate(var(--angle)) translateY(490px) scaleY(1.55)}}@keyframes space-out{0%,66%{opacity:1}100%{opacity:0;visibility:hidden}}.warp-finish{animation:warp-exit .22s ease-out both}@keyframes warp-exit{to{opacity:0}}

@media(max-width:900px){.member-details{grid-template-columns:1fr 1fr}.fines-field{grid-column:1/-1}.fine-form{grid-template-columns:minmax(70px,.7fr) 70px minmax(90px,1fr) auto}}
@media(max-width:600px){.member-summary{grid-column:1/-1;padding:9px 0 12px;gap:8px}.member-details{grid-template-columns:1fr 1fr;gap:15px;padding:15px}.fines-field,.note-field{grid-column:1/-1}.fine-form{grid-template-columns:minmax(75px,.75fr) 72px}.fine-reason{grid-column:1}.fine-submit{grid-column:2;grid-row:2}.fine-item{grid-template-columns:auto 1fr 26px}.fine-date{display:none}.details-toggle{padding:6px 10px}.status-chip,.warning-chip,.fine-chip{font-size:10px;padding:4px 8px}.warp .space{transform:scale(1.15)}}
@media(prefers-reduced-motion:reduce){.warp{display:none!important}}
.logo-type{font-family:Michroma,Arial,sans-serif}.logo-small{font-size:26px}.logo-main{font-size:86px}.masthead{padding-top:5px}.wordmark svg{max-height:205px}.currency-prefix{color:#e8d9ef;align-self:center;text-align:right;font:14px Michroma,Arial,sans-serif;padding-left:4px}.fine-form{grid-template-columns:18px minmax(72px,.72fr) minmax(95px,1fr) auto}.fine-amount{grid-column:2}.fine-reason{grid-column:3}
@media(max-width:900px){.logo-main{font-size:86px}.logo-small{font-size:26px}.fine-form{grid-template-columns:18px minmax(65px,.72fr) minmax(85px,1fr) auto}}
@media(max-width:600px){.logo-main{font-size:86px}.logo-small{font-size:24px}.masthead{padding-top:2px}.wordmark svg{max-height:170px}.fine-form{grid-template-columns:18px minmax(62px,.72fr)}.fine-amount{grid-column:2}.fine-reason{grid-column:2;grid-row:2}.fine-submit{grid-column:2;grid-row:3}}
.masthead{padding-bottom:58px}.wordmark svg{max-height:100px}.logo-small{font-size:27px}.footer-brand{margin:24px 0 0!important;font-family:Michroma,Arial,sans-serif;font-size:clamp(16px,2vw,22px);letter-spacing:.045em;font-style:italic;transform:skewX(-12deg);background:linear-gradient(180deg,#fff 0%,#bfc3d7 19%,#25212c 36%,#f5eaff 49%,#645773 62%,#fff 79%,#bb83af 100%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-stroke:.35px #decde4;text-shadow:0 0 13px #df91d63e}
@media(max-width:600px){.masthead{padding-bottom:35px}.wordmark svg{max-height:74px}.logo-small{font-size:26px}.footer-brand{margin-top:20px!important}}
