:root{font-family:Inter,Arial,sans-serif;color:#003F3A;background:#f5f6fa;line-height:1.5}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}a{color:#00675E;text-decoration:none}header{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;background:white;border-bottom:1px solid #e2e7ed}.logo{font-weight:900;font-size:28px;color:#202124;letter-spacing:-1px}.logo span{color:#00675E}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #edf5f1;border-radius:8px;padding:10px 16px;background:#fff;color:inherit}button:disabled{opacity:.5;cursor:default}.primary{background:#00675E;border-color:#00675E;color:#003F3A;font-weight:700}input,select,textarea{width:100%;padding:11px;border:1px solid #dcebe3;border-radius:7px;background:white;color:inherit}input[type=checkbox],input[type=radio]{width:auto}label{display:block;margin:14px 0 6px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #00675E;outline-offset:3px}h1{font-size:30px;letter-spacing:-1px}h2{font-size:21px}h3{font-size:17px}small,.muted{color:#00675E}.panel,.auth{padding:26px;border:1px solid #e1e7ed;background:#fff;border-radius:14px;margin:18px 0}.auth{max-width:520px;margin:45px auto}.auth form{display:grid;gap:9px}.shell{display:grid;grid-template-columns:220px minmax(0,1fr)}aside{border-right:1px solid #e1e7ed;padding:20px;display:flex;flex-direction:column;gap:15px}nav{display:grid;gap:6px}.identity small{display:block}.sidebar-bottom{margin-top:auto;display:grid;gap:8px}main{padding:28px;min-width:0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.row,.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.between{justify-content:space-between}.status{padding:14px;border-radius:8px;background:#edf5f1;margin:14px 0}.chip{display:inline-block;padding:4px 9px;background:#edf5f1;border-radius:15px;font-size:12px}.danger{color:#a02b36}.messages{display:flex;flex-direction:column;gap:12px;overflow:auto}.bubble{padding:12px;background:#eef2f7;border-radius:12px;max-width:80%}.bubble.mine{align-self:flex-end;background:#edf5f1}.bubble small{display:block}.loading,.empty{padding:36px;text-align:center}img{max-width:100%;object-fit:cover}.nav-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}dialog{border:1px solid #edf5f1;border-radius:16px;padding:26px;width:min(620px,94vw);max-height:90vh;overflow:auto}dialog::backdrop{background:#003F3A80}#notice:empty{display:none}#notice{position:fixed;z-index:1000;bottom:20px;left:50%;transform:translateX(-50%);background:#003F3A;color:white;padding:14px 22px;border-radius:10px;max-width:90vw}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid #e1e7ed}svg{max-width:100%}@media(max-width:700px){.shell{display:block}.auth{margin:25px 14px}header{padding:15px}main{padding:16px}.row{align-items:stretch}}
.signup-layout{max-width:1120px;margin:40px auto;display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:0 24px;align-items:stretch}.signup-layout .auth{width:100%;margin:0;max-width:none}.signup-art{position:relative;overflow:hidden;background:#edf5fa;border-radius:18px;min-height:520px}.signup-art>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;opacity:.5}.signup-art-copy{position:relative;z-index:1;padding:38px}.signup-art-copy h2{font-size:36px;line-height:1.2;max-width:350px}.role-choice{display:flex;gap:12px}.role-choice label{display:flex;gap:8px;align-items:center;padding:12px;border:1px solid #edf5f1;border-radius:8px;flex:1}.auth-divider{text-align:center;color:#00675E;margin:18px}.google-button{width:100%}.google-button svg{width:20px;height:20px;vertical-align:middle}.links{display:flex;justify-content:space-between;gap:12px;margin-top:20px;font-size:13px}@media(max-width:750px){.signup-layout{grid-template-columns:1fr;margin:20px auto;padding:0 14px}.signup-art{display:none}.role-choice{flex-wrap:wrap}}

.category-tiles,.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.category-grid label{margin:0}.category-grid svg{width:24px;height:24px;flex-shrink:0}

