:root{--csusa-primary:#367944;--csusa-primary-light:#4a9a5c;--csusa-primary-dark:#2a5e35;--csusa-accent:#e4c64b;--csusa-cta:#066aab;--csusa-dark:#1d1d1f;--csusa-light:#f5f5f7;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-500:#6b7280;--gray-700:#374151;--radius:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--csusa-light);height:100%;color:var(--csusa-dark);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.55}button{font:inherit;cursor:pointer}a{color:var(--csusa-cta)}.login-wrap{background:linear-gradient(160deg,#fff 0%,var(--csusa-light)100%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--gray-200);background:#fff;border-radius:18px;width:100%;max-width:460px;padding:40px 36px;box-shadow:0 8px 30px #0000000f}.brand{align-items:center;gap:12px;margin-bottom:6px;display:flex}.brand-dot{background:var(--csusa-primary);color:#fff;border-radius:10px;place-items:center;width:40px;height:40px;font-size:20px;font-weight:700;display:grid}.brand h1{margin:0;font-size:22px;font-weight:650}.sub{color:var(--gray-500);margin:4px 0 28px;font-size:15px}.who{gap:12px;display:grid}.who button{text-align:left;border:1px solid var(--gray-200);border-radius:var(--radius);background:#fff;align-items:center;gap:14px;width:100%;padding:16px 18px;transition:border-color .15s,background .15s,transform 50ms;display:flex}.who button:hover:not(:disabled){border-color:var(--csusa-primary);background:#fafffb}.who button:active:not(:disabled){transform:translateY(1px)}.who button:disabled{opacity:.55;cursor:default}.avatar{background:var(--csusa-primary);color:#fff;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-size:15px;font-weight:650;display:grid}.who .name{font-weight:600}.who .role{color:var(--gray-500);font-size:14px}.notice{border-radius:var(--radius);margin-top:22px;padding:16px 18px;font-size:15px}.notice.ok{background:#f0f9f2;border:1px solid #cfe8d6}.notice.err{background:#fef2f2;border:1px solid #fecaca}.notice code{word-break:break-all;color:var(--gray-700);margin-top:10px;font-size:12.5px;display:block}.shell{flex-direction:column;height:100vh;display:flex}.topbar{border-bottom:1px solid var(--gray-200);background:#fff;flex:none;align-items:center;gap:18px;height:62px;padding:0 20px;display:flex}.topbar .brand h1{font-size:17px}.tabs{gap:4px;margin-left:12px;display:flex}.tabs button{color:var(--gray-700);background:0 0;border:1px solid #0000;border-radius:999px;padding:8px 16px;font-size:15px;font-weight:550}.tabs button.active{background:var(--csusa-primary);color:#fff}.tabs button:not(.active):hover{background:var(--gray-100)}.spacer{flex:1}.ghost{border:1px solid var(--gray-300);background:#fff;border-radius:8px;padding:8px 16px;font-size:14px}.ghost:hover{border-color:var(--csusa-primary)}.primary{background:var(--csusa-primary);color:#fff;border:none;border-radius:8px;padding:9px 20px;font-size:14px;font-weight:600}.primary:hover:not(:disabled){background:var(--csusa-primary-dark)}.primary:disabled{opacity:.5}.body{flex:1;min-height:0;display:flex}.pane{flex-direction:column;flex:1;min-width:0;display:flex}.messages{flex:1;padding:28px 0;overflow-y:auto}.msg{gap:14px;max-width:780px;margin:0 auto 22px;padding:0 24px;display:flex}.msg .who-dot{color:#fff;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:13px;font-weight:650;display:grid}.msg.user .who-dot{background:var(--gray-500)}.msg.assistant .who-dot{background:var(--csusa-primary)}.msg .text{white-space:pre-wrap;word-break:break-word;padding-top:3px}.msg.user .text{color:var(--gray-700)}.composer{border-top:1px solid var(--gray-200);background:#fff;padding:16px 24px 20px}.composer-inner{align-items:flex-end;gap:10px;max-width:780px;margin:0 auto;display:flex}.composer textarea{resize:none;border:1px solid var(--gray-300);border-radius:var(--radius);font:inherit;outline:none;flex:1;max-height:45vh;padding:13px 15px}.composer textarea:focus{border-color:var(--csusa-primary)}.empty{text-align:center;max-width:620px;color:var(--gray-500);margin:8vh auto;padding:0 24px}.empty h2{color:var(--csusa-dark);margin-bottom:8px;font-size:24px}.chips{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px;display:flex}.chips button{border:1px solid var(--gray-300);color:var(--gray-700);background:#fff;border-radius:999px;padding:9px 16px;font-size:14px}.chips button:hover{border-color:var(--csusa-primary);color:var(--csusa-primary)}.panel{flex:1;padding:26px;overflow-y:auto}.panel h2{margin:0 0 4px;font-size:21px}.panel .hint{color:var(--gray-500);margin:0 0 22px;font-size:14.5px}.grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px;display:grid}.tile{border:1px solid var(--gray-200);border-radius:var(--radius);background:#fff;overflow:hidden}.tile img{aspect-ratio:4/3;object-fit:cover;background:var(--gray-100);width:100%;display:block}.tile .meta{padding:11px 13px;font-size:13px}.tile .fname{word-break:break-all;font-size:12.5px;font-weight:600}.tile .used{color:var(--gray-500);margin-top:4px}.tile .unused{color:#b45309}.tile input{width:100%;font:inherit;border:1px solid var(--gray-200);border-radius:7px;margin-top:9px;padding:6px 8px;font-size:12.5px}.tile .swap{width:100%;margin-top:9px;padding:7px;font-size:13px}.rows{gap:12px;display:grid}.row{border:1px solid var(--gray-200);border-radius:var(--radius);background:#fff;align-items:center;gap:16px;padding:15px 18px;display:flex}.row .grow{flex:1;min-width:0}.row .summary{font-weight:550}.row .when{color:var(--gray-500);margin-top:3px;font-size:13.5px}.badge{border-radius:999px;padding:4px 11px;font-size:12px;font-weight:600}.badge.published{color:var(--csusa-primary-dark);background:#f0f9f2}.badge.pending{color:#92400e;background:#fffbeb}.badge.rolled_back{background:var(--gray-100);color:var(--gray-500)}.banner{border-radius:var(--radius);background:#fffbeb;border:1px solid #fde68a;align-items:center;gap:14px;margin-bottom:18px;padding:14px 18px;font-size:15px;display:flex}.banner .grow{flex:1}
