/* Local-test graphite skin. Existing IDs, modules and server workflows are unchanged. */
:root { color-scheme:dark; font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background:#111215; color:#e5e4eb; }
body { background:radial-gradient(ellipse at 88% 0,#a993d008,transparent 40%),#111215; font-size:13px; }
body::before { display:none; }
button, input, textarea, select { font-family:inherit; }
::selection { color:#f6efff; background:#70578a; }
input::placeholder { color:#85818f; opacity:1; }
.shell { grid-template-columns:210px minmax(0,1fr); }
.sidebar { gap:36px; padding:26px 16px 20px; border-color:#29292f; background:#141519; box-shadow:none; }
.brand { gap:10px; padding:1px 8px; white-space:nowrap; }
.brand strong { color:#e0dce8; font-size:13px; font-weight:550; letter-spacing:-.02em; }
.brand-mark { border-color:#655276; border-radius:13px; color:#d7c3ea; background:#2a2232; box-shadow:none; }
.brand-mark.small { width:30px; height:30px; border-radius:9px; font-size:10px; }
.sidebar nav { gap:7px; }
#nav>.nav-button, .nav-more-toggle { min-height:43px; padding:12px 14px; border-radius:8px; color:#a6a1af; font-size:12px; font-weight:450; }
.nav-button:hover, .nav-more-toggle:hover { color:#eee4f6; background:#24202b; }
.nav-button.active { color:#e2d4f0; background:#2b2433; box-shadow:inset 2px 0 #b8a2d3; }
#nav>[data-page="workspace"]::before { content:"◷"; margin-right:11px; color:#b6a6c9; font-size:16px; line-height:.7; }
#nav>[data-page="projects"]::before { content:"▦"; margin-right:11px; color:#9c93ab; font-size:15px; line-height:.7; }
#nav>[data-page="files"]::before { content:"▱"; margin-right:11px; color:#9c93ab; font-size:16px; line-height:.7; }
.nav-more-toggle>span:first-child::before { content:"···"; display:inline-block; width:16px; margin-right:11px; color:#9c93ab; font-size:15px; letter-spacing:1px; }
.nav-more[open]>.nav-more-toggle, .nav-more-toggle.active { color:#dccbe9; background:#24202b; }
.nav-more-panel { margin-top:9px; padding:6px; border-color:#3c3345; border-radius:10px; background:#1b181f; scrollbar-color:#5f4c70 transparent; }
.nav-more-group { border-bottom-color:#342b3c; }
.nav-group-title { color:#93829f; font-size:9px; letter-spacing:.09em; }
.nav-more-panel .nav-button { color:#b3a3bf; font-size:11px; }
.controller { display:flex; align-items:center; margin-top:auto; padding:11px 10px; border-color:#303b33; border-radius:8px; color:#9cae9f; background:#1a211c; font-size:9px; white-space:nowrap; }
.status-dot { flex-shrink:0; width:5px; height:5px; margin-right:7px; background:#9dc7a9; box-shadow:none; }
.main>header { min-height:64px; padding:17px 34px; border-color:#2a2830; color:#ada4b7; background:#141217e8; backdrop-filter:blur(16px); font-size:11px; }
.user-menu { gap:12px; color:#a99ab5; font-size:11px; }
.user-menu .button { font-size:10px; }
.page { max-width:1510px; margin:0 auto; padding:30px 34px; }
.page-heading { align-items:center; margin-bottom:24px; }
.page-heading h2 { color:#e0d7e9; font-size:28px; font-weight:550; letter-spacing:-.03em; }
.page-heading p { margin-top:8px; color:#9d90a8; font-size:12px; line-height:1.7; }
.page-heading .actions { margin-top:0; }
.button { min-height:36px; border-color:#493950; border-radius:8px; color:#c5b2d2; background:#221b29; font-size:12px; font-weight:450; text-decoration:none; }
.button:hover { border-color:#7b608d; color:#f2e6fa; background:#2b2134; }
.button.primary { border-color:#ad92c6; color:#20152a; background:#bca5d4; box-shadow:none; font-weight:550; }
.button.primary:hover { border-color:#d2bbe5; color:#1c1028; background:#cdb5e3; }
.button.ghost { color:#ac99bb; background:transparent; }
.button.danger { border-color:#63404f; color:#efb0c4; background:#2e1e27; }
.button:focus-visible, button:focus-visible, a:focus-visible { outline:2px solid #c1a5db; outline-offset:3px; }
input:not([type="checkbox"]):not([type="radio"]) { min-height:40px; border-color:#47374f; border-radius:8px; color:#eadcf2; background:#1b1521; }
input:not([type="checkbox"]):not([type="radio"]):focus { border-color:#b495ce; box-shadow:0 0 0 3px #b596cc15; }
.notice { margin:15px 34px 0; border-color:#3d5946; border-radius:8px; color:#b4d8be; background:#1d2a20; font-size:12px; }
.notice.error-notice { border-color:#6a4054; color:#efb3c9; background:#301e28; }
.space-test-banner { margin:13px 34px 0; padding:8px 12px; border:1px solid #514638; border-radius:7px; color:#c7b99b; background:#26221b; font-size:9px; line-height:1.7; letter-spacing:.035em; }
.tile, .panel, .empty { border-color:#3b2e43; color:#d8c9e3; background:#1c1722; box-shadow:none; }
.tile::before { display:none; }
.tile:nth-child(1), .tile:nth-child(2), .tile:nth-child(3) { background:#1c1722; }
.tile p, .service-row p { color:#9c89aa; font-size:11px; line-height:1.8; }
.badge { border-radius:5px; color:#bca4ca; background:#302437; font-size:10px; }
.badge.online { color:#a9d1b4; background:#243a2b; }
.badge.offline { color:#a99eaf; background:#302b34; }
dialog { max-height:calc(100dvh - 30px); border-color:#55405f; color:#e7d7f0; background:#1c1523; }
dialog::backdrop { background:#07050bd1; backdrop-filter:blur(5px); }
.dialog-body label { font-size:12px; line-height:1.7; }
.dialog-body p { color:#a48ab4; line-height:1.8; }
.login-screen { background:radial-gradient(ellipse at 50% 30%,#aa7ddb0c,transparent 55%); }
.login-box { padding:32px; border-color:#4b3458; border-radius:20px; background:#201628; box-shadow:0 30px 100px #0005; }
.login-box h1 { color:#eadbf3; font-size:27px; }
.login-box>p { color:#a58db6; font-size:12px; line-height:1.7; }
.login-box label { color:#b49bc6; font-size:12px; }
.login-box .button { min-height:43px; }
.projects-page { --project-accent:#bea3d8; --project-wash:#b99bdc0b; }
.projects-page[data-accent="cyan"] { --project-accent:#a0c6d0; --project-wash:#a3c6d00b; }
.projects-page[data-accent="green"] { --project-accent:#a6c8b2; --project-wash:#aad2b80b; }
.projects-picker, .projects-search { gap:8px; color:#ab94bc; font-size:11px; }
.projects-page select, .projects-dialog select { min-height:40px; padding:10px 12px; border-color:#4d365b; border-radius:8px; color:#d5c1e1; background:#1e1526; }
.projects-tools, .projects-board-tools { gap:16px; margin-bottom:24px; }
.projects-overview { padding:24px; border-color:#493353; border-radius:13px; background:radial-gradient(ellipse at 0 0,var(--project-wash),transparent 70%),#211729; }
.projects-overview h3 { margin:12px 0 8px; color:#e1d0ed; font-size:24px; font-weight:550; letter-spacing:-.02em; }
.projects-overview p { color:#af98c0; font-size:12px; }
.projects-overview .badge { color:var(--project-accent); background:#382843; }
.projects-column { padding:13px; border-color:#3b2a47; background:#19121f; }
.projects-column-heading h4 { color:#c7b2d8; font-size:12px; }
.projects-column-heading>span:last-child { color:#ac91bd; background:#30213a; }
.projects-column-empty { color:#8a719b; font-size:11px; }
.projects-card { padding:15px; border-color:#4a3458; border-radius:10px; background:linear-gradient(130deg,var(--project-wash),transparent 80%),#271b30; }
.projects-card:hover { border-color:#88649f; }
.projects-card-title { color:#e0cdec; font-size:13px; font-weight:500; line-height:1.7; }
.projects-card-description { color:#ae92c0; line-height:1.8; }
.projects-card-meta { color:#a78cb8; font-size:10px; }
.projects-card-number { color:#977aa8; }
.projects-priority { color:#b99cca; background:#d1b3e10b; }
.projects-priority.important { color:#d7bf90; background:#e6c48f0e; }
.projects-priority.urgent { color:#dca3b8; background:#d99ab00f; }
.projects-move-label { border-color:#c49ed710; color:#a184b3; }
.projects-move-label select { min-height:32px; font-size:10px; }
.projects-board-tools>span, .projects-message { color:#b096c1; font-size:11px; }
.projects-dialog textarea { border-color:#4c345a; color:#e5ceef; background:#18101f; }
.check { min-height:36px; color:#b298c4; background:#271b30; font-size:11px; }
.check input, .switch input { accent-color:#ba9bd4; }
.space-topbar h2 { letter-spacing:-.03em; }
.space-topbar p, .space-muted { color:#af95c0; }
.space-record-card, .space-module-card { border-color:#4b3359; background:#24182d; }
.space-record-card:hover, .space-module-card:hover { border-color:#88629e; }
@media (min-width:621px) { .sidebar { position:sticky; top:0; height:100vh; max-height:100vh; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#4c3659 transparent; } }
@media (max-width:1000px) {
  .shell { grid-template-columns:184px minmax(0,1fr); }
  .sidebar { padding-right:12px; padding-left:12px; }
  .brand { padding-right:0; padding-left:0; gap:8px; }
  .brand strong { font-size:12px; }
  .page { padding:26px 24px; }
  .main>header { padding:16px 24px; }
  .notice, .space-test-banner { margin-right:24px; margin-left:24px; }
}
@media (max-width:620px) {
  .shell { grid-template-columns:minmax(0,1fr); }
  .sidebar { gap:15px; padding:16px 17px 9px; border-right:0; border-bottom:1px solid #3d2948; background:#1b1322; box-shadow:none; }
  .brand { justify-content:flex-start; gap:9px; padding:0 3px; }
  .brand strong { color:#d8c3e7; font-size:13px; }
  .brand-mark.small { width:27px; height:27px; border-radius:8px; }
  .sidebar #nav { gap:5px; }
  #nav>.nav-button, .nav-more-toggle { display:block; min-height:41px; padding:10px 3px; border-radius:7px; font-size:11px; }
  #nav>.nav-button::before, .nav-more-toggle>span:first-child::before { display:none; }
  .nav-more-toggle { display:flex; padding-right:4px; padding-left:4px; }
  .nav-button.active { box-shadow:inset 0 -2px #b395cd; background:#362341; }
  .nav-more-panel { z-index:30; border-color:#60406f; background:#25172f; box-shadow:0 16px 50px #09020dd1; }
  .nav-more-panel .nav-button { min-height:43px; padding:11px 10px; font-size:12px; }
  .nav-group-title { color:#b796c9; font-size:9px; }
  .controller { display:none; }
  .main>header { min-height:50px; padding:10px 20px; color:#9f82b2; background:#1b1221ed; font-size:10px; }
  .user-menu { gap:8px; min-width:0; color:#aa8cbd; font-size:10px; }
  #current-user { overflow:hidden; max-width:175px; text-overflow:ellipsis; white-space:nowrap; }
  .user-menu .button { min-height:30px; padding:5px 7px; font-size:9px; }
  .page { padding:24px 20px; }
  .notice { margin:12px 20px 0; font-size:11px; }
  .space-test-banner { margin:12px 20px 0; padding:7px 10px; font-size:8px; letter-spacing:.01em; }
  .page-heading { align-items:stretch; margin-bottom:21px; }
  .page-heading h2 { font-size:25px; }
  .page-heading p { font-size:11px; }
  .button { min-height:39px; }
  .projects-page .page-heading .actions { margin-top:3px; }
  .projects-page .page-heading .actions .button { min-height:41px; font-size:11px; }
  .projects-overview { padding:20px 17px; }
  .projects-overview h3 { font-size:23px; }
  .projects-overview p { font-size:12px; }
  .projects-column { padding:14px; }
  .projects-column-heading { margin:3px 2px 15px; }
  .projects-card { padding:16px; }
  .projects-card-title { font-size:14px; }
  .projects-card-description { font-size:12px; }
  .projects-move-label { font-size:10px; }
  .projects-move-label select { min-height:36px; }
  .projects-board { gap:18px; }
  .projects-dialog input, .projects-dialog textarea, .projects-dialog select { font-size:16px; }
  .workspace-page .workspace-search input { min-height:46px; font-size:12px; }
  .workspace-dialog .button { min-height:42px; }
}
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; } }
