:root{--ink:#102c46;--blue:#1f567d;--paper:#f8f7f2;--line:#d9dfda;--mint:#a9d2c4;--mono:'DM Mono',monospace;--sans:'Manrope',sans-serif;--serif:'Playfair Display',serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}.page-shell{max-width:1090px;margin:0 auto;padding:38px clamp(22px,6vw,84px) 70px}.brand{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;font-size:19px;letter-spacing:-.8px;font-weight:800}.brand span{display:grid;place-items:center;width:25px;height:25px;border:1px solid #517586;border-radius:50%;font:italic 20px var(--serif)}header{padding:68px 0 38px;border-bottom:1px solid var(--line)}.back{font:500 11px var(--mono);letter-spacing:.04em;color:#4b7178;text-decoration:none}.eyebrow{font:500 10px var(--mono);letter-spacing:.13em;color:#718991;margin:0 0 10px}header .eyebrow{margin-top:40px}h1{font:600 clamp(38px,5.7vw,64px)/.96 var(--serif);letter-spacing:-.06em;margin:0}h1 em{color:var(--blue)}.intro{max-width:510px;color:#60757a;font-size:14px;line-height:1.7;margin:22px 0 0}.new-category{display:flex;justify-content:space-between;gap:30px;align-items:end;background:#e4efeb;border:1px solid #d1dfda;border-radius:7px;padding:24px 26px;margin:35px 0 15px}.new-category h2,.section-title h2{font-size:20px;letter-spacing:-.8px;margin:0}.new-category form{display:grid;grid-template-columns:105px minmax(130px,1fr) 45px 45px auto;gap:8px;min-width:550px}.new-category input,.new-category select{height:39px;border:1px solid #bdccc7;background:#fff;border-radius:4px;padding:0 9px;font:500 12px var(--sans);color:var(--ink)}.new-category input[type=color]{padding:4px}.new-category button,.category-actions button{border:0;background:var(--ink);border-radius:4px;color:white;font-size:11px;font-weight:800;padding:0 13px;cursor:pointer}.new-category button span{margin-left:8px}#status{min-height:20px;color:#427265;font-size:12px;margin:0 0 12px}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:28px}.section-title{padding-bottom:15px;border-bottom:1px solid var(--line)}.category-list{display:grid;gap:8px;margin-top:12px}.category-card{display:grid;grid-template-columns:34px minmax(0,1fr) 39px 94px;gap:9px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:5px;padding:10px}.category-card.archived{opacity:.55;background:#f3f4f1}.icon-preview{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:color-mix(in srgb,var(--category) 17%,white);color:var(--category);font:15px var(--mono)}.category-card input{height:32px;border:1px solid #d0d9d5;border-radius:3px;padding:0 8px;color:var(--ink);font:600 12px var(--sans);min-width:0}.category-card input[type=color]{padding:3px}.category-actions{display:flex;gap:5px}.category-actions button{height:32px;padding:0 8px}.category-actions .archive{background:transparent;border:1px solid #c6d0cc;color:#536d72}.category-actions .restore{background:#397260}@media(max-width:850px){.new-category{display:block}.new-category form{min-width:0;margin-top:20px}.category-grid{gap:25px}}@media(max-width:620px){.new-category form{grid-template-columns:1fr 1fr 42px 42px}.new-category form button{grid-column:1/-1;height:39px}.category-grid{grid-template-columns:1fr}.category-card{grid-template-columns:34px minmax(0,1fr) 39px}.category-actions{grid-column:2/-1}.category-actions button{flex:1}}
.category-card{grid-template-columns:34px minmax(0,1fr) 39px}
.category-actions{grid-column:2/-1;display:flex;gap:5px}
.category-actions button{flex:1}
.category-card{transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}
.category-card .save{transition:background-color .2s ease,color .2s ease}
.category-card .save:disabled{cursor:wait;opacity:.75}
.category-card.saved{border-color:#72a99b;background:#f1f8f5;box-shadow:0 0 0 3px #d7e9e3}
.category-card.saved .save{background:#397260}
.category-card.save-error{border-color:#c8786b;background:#fff8f6}
.category-card.save-error .save{background:#a84738}
@media(prefers-reduced-motion:reduce){.category-card,.category-card .save{transition:none}}
.icon-preview{width:38px;height:38px;font:18px/1 system-ui,sans-serif}
.category-card{grid-template-columns:42px minmax(0,1fr) 39px}

.icon-picker-trigger{cursor:pointer;border:1px solid #bdccc7!important;background:#fff!important;color:var(--ink)!important;padding:0!important;display:grid;place-items:center;font:20px/1 system-ui,sans-serif!important}
.new-category .icon-picker-trigger{width:45px;height:39px;border-radius:4px}
.category-card .icon-picker-trigger{width:38px;height:38px;border-color:transparent!important;background:color-mix(in srgb,var(--category) 17%,white)!important}
.category-card .icon-picker-trigger:hover,.new-category .icon-picker-trigger:hover{border-color:#397260!important;box-shadow:0 0 0 3px #d7e9e3}
#icon-picker{width:min(92vw,620px);max-height:min(82vh,680px);border:0;border-radius:10px;padding:0;color:var(--ink);background:var(--paper);box-shadow:0 24px 90px #102c4660}
#icon-picker::backdrop{background:#102c467a;backdrop-filter:blur(3px)}
.icon-picker-head{display:flex;justify-content:space-between;align-items:start;padding:24px 25px 18px;border-bottom:1px solid var(--line)}
.icon-picker-head h2{font:600 27px/1 var(--serif);letter-spacing:-1px;margin:0}
.icon-picker-head p:last-child{max-width:390px;margin:9px 20px 0 0;color:#60767d;font-size:11px;line-height:1.45}
.icon-picker-head button{border:0;background:transparent;color:#60757a;font-size:28px;line-height:1;cursor:pointer;padding:0 4px}
.icon-options{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;padding:20px 25px 26px;overflow-y:auto}
.icon-options button{min-width:0;min-height:58px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);display:grid;place-items:center;padding:8px 4px;cursor:pointer}
.icon-options button:hover,.icon-options button:focus-visible,.icon-options button.selected{border-color:#397260;background:#e4efeb;outline:0;box-shadow:0 0 0 2px #cce2db}
.icon-options span{font:26px/1 system-ui,sans-serif}
@media(max-width:620px){.icon-options{grid-template-columns:repeat(5,1fr);padding:16px;gap:7px}.icon-picker-head{padding:21px 18px 16px}.icon-options button{min-height:54px}.new-category form{grid-template-columns:1fr 1fr 45px 45px}}
