:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f7f0e6;background:#090a09;--brand-primary: #a21c26;--brand-primary-dark: #6f1118;--brand-accent: #d7b46a;--brand-accent-bright: #f2d58f;--brand-black: #060402;--brand-panel: #111210;--brand-panel-soft: #171814;--brand-line: rgba(215, 180, 106, .26);--brand-muted: #b7aa97;--brand-ink: #f8f4ed}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer}html{scrollbar-color:var(--brand-accent) #080706;scrollbar-width:thin}*::-webkit-scrollbar{width:12px;height:12px}*::-webkit-scrollbar-track{background:#080706;border-left:1px solid rgba(215,180,106,.12)}*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--brand-accent-bright),var(--brand-primary));border:3px solid #080706;border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#ffe3a0,#bd2631)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#090a09eb,#14090af0),url("data:image/svg+xml,%3Csvg width='180' height='180' viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23d7b46a' stroke-opacity='.13' stroke-width='8'%3E%3Cpath d='M30 90c36-72 84-72 120 0M30 90c36 72 84 72 120 0'/%3E%3Cpath d='M90 30c72 36 72 84 0 120M90 30C18 66 18 114 90 150'/%3E%3Cpath d='M45 45c30 0 45 15 45 45S75 135 45 135M135 45c-30 0-45 15-45 45s15 45 45 45'/%3E%3C/g%3E%3C/svg%3E");background-size:auto,360px 360px}.auth-panel{width:min(440px,100%);background:linear-gradient(180deg,#ffffff09,#fff0),var(--brand-panel);border:1px solid var(--brand-line);border-radius:8px;padding:28px;box-shadow:0 24px 80px #00000094,inset 0 1px #ffffff0d}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:24px;background:linear-gradient(180deg,#a21c2640,#06040200 34%),url("data:image/svg+xml,%3Csvg width='120' height='120' viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23d7b46a' stroke-opacity='.10' stroke-width='6'%3E%3Cpath d='M20 60c24-48 56-48 80 0M20 60c24 48 56 48 80 0'/%3E%3Cpath d='M60 20c48 24 48 56 0 80M60 20C12 44 12 76 60 100'/%3E%3C/g%3E%3C/svg%3E"),#060402;background-size:auto,230px 230px,auto;color:#fff;display:flex;flex-direction:column;justify-content:space-between}.sidebar nav{display:grid;gap:8px;margin-top:28px}.sidebar button{width:100%;border:0;border-radius:6px;padding:11px 12px;text-align:left;color:#e9decc;background:transparent;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}.sidebar button.active,.sidebar button:hover{background:linear-gradient(135deg,#a21c26,#78141b);color:#fff;box-shadow:0 10px 24px #a21c263d}.workspace{padding:24px;min-width:0;background:linear-gradient(180deg,#d7b46a0f,#d7b46a00),#0b0c0b}.view{display:grid;gap:18px}.view-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:4px}.view-head h1,.view-head h2,.auth-panel h1{margin:0;letter-spacing:0}.view-head p{margin:5px 0 0;color:var(--brand-muted)}.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--brand-accent);font-weight:700}.brand-block{display:grid;gap:8px;align-items:start}.brand-logo{display:block;width:132px;max-width:100%;height:auto;object-fit:contain}.auth-brand{margin-bottom:4px}.auth-brand .brand-logo{width:150px}.auth-panel .brand-logo{filter:sepia(1) saturate(1.45) hue-rotate(358deg) brightness(.86) contrast(.96) drop-shadow(0 5px 0 rgba(0,0,0,.35))}.sidebar .brand-logo{filter:sepia(1) saturate(1.45) hue-rotate(358deg) brightness(.9) contrast(.96) drop-shadow(0 8px 18px rgba(0,0,0,.45))}.sidebar h2{margin:0;font-size:18px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-grid article,.panel,.auth-panel,.admin-row,.patient-row,.visit-list article{background:linear-gradient(180deg,#ffffff09,#fff0),var(--brand-panel);border:1px solid var(--brand-line);border-radius:8px}.metric-grid article{padding:18px;display:grid;gap:8px}.metric-grid span,.admin-row span,.patient-row span,.visit-list span,small{color:var(--brand-muted)}.metric-grid strong{font-size:28px;letter-spacing:0}.metric-grid article{box-shadow:inset 3px 0 0 var(--brand-accent),0 16px 34px #0000002e}.panel{padding:18px;display:grid;gap:14px;box-shadow:0 16px 34px #0000002e}.panel h2{margin:0;font-size:18px}.procedure-list{display:grid;gap:8px}.procedure-list div{display:flex;justify-content:space-between;border-bottom:1px solid rgba(215,180,106,.18);padding-bottom:8px}.patients-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}.patient-browser{display:grid;gap:14px;min-width:0}.patient-filters{display:grid;grid-template-columns:minmax(260px,1fr) minmax(170px,.45fr) minmax(190px,.55fr) auto;gap:10px;align-items:center}.patient-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.patient-row{min-height:132px;padding:14px;display:grid;align-content:start;gap:8px;text-align:left;border:1px solid var(--brand-line);color:var(--brand-ink);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.patient-row strong{font-size:17px;line-height:1.2}.patient-row:hover{transform:translateY(-2px);border-color:#d7b46a94}.patient-row.active{border-color:var(--brand-accent);box-shadow:inset 0 3px 0 var(--brand-accent),0 14px 30px #0000003d}.patient-card-city{justify-self:start;padding:4px 8px;border:1px solid rgba(215,180,106,.24);border-radius:999px;color:var(--brand-accent-bright);background:#d7b46a14;font-size:12px;font-weight:700}.patient-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.patient-pagination button{width:38px;height:38px;padding:0;border-radius:6px;border:1px solid rgba(215,180,106,.28);color:var(--brand-ink);background:#ffffff0b}.patient-pagination button.active,.patient-pagination button:hover{border-color:var(--brand-accent);color:#110d08;background:linear-gradient(135deg,var(--brand-accent-bright),var(--brand-accent))}.empty-state{margin:0;padding:18px;border:1px dashed rgba(215,180,106,.32);border-radius:8px;color:var(--brand-muted);text-align:center}.patient-card{display:grid;gap:18px;min-width:0}.section-grid{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(460px,1.1fr);gap:18px}.form-grid{display:grid;gap:12px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid.five{grid-template-columns:1fr 1fr 1fr 160px 110px}.compact{margin-top:8px}label{display:grid;gap:6px;color:#d6cab7;font-size:13px;font-weight:650}input,textarea,select{width:100%;border:1px solid rgba(215,180,106,.28);border-radius:6px;padding:10px 11px;color:var(--brand-ink);background:#ffffff0e;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}input:focus,textarea:focus,select:focus{outline:2px solid rgba(249,175,24,.28);border-color:var(--brand-accent);background:#ffffff14}input::placeholder,textarea::placeholder{color:#8f8373}input:disabled{color:#b7aa97;background:#ffffff09}textarea{min-height:86px;resize:vertical}input[type=checkbox]{width:16px;height:16px}input[type=range]{padding:0}.primary,.ghost,.button{border-radius:6px;padding:10px 14px;border:1px solid transparent;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:40px}.primary{background:linear-gradient(135deg,#b61d29,#83151d);color:#fff;border-color:#b61d29;box-shadow:0 12px 26px #a21c263d}.primary:hover{background:linear-gradient(135deg,#c82431,#6f1118);border-color:#c82431}.primary:disabled{opacity:.55;cursor:wait}.ghost{background:#ffffff0a;color:var(--brand-ink);border-color:#d7b46a47}.ghost:hover{border-color:var(--brand-accent);color:var(--brand-accent-bright)}.danger{color:#a21c26;border-color:#e7b4ad}.actions{display:flex;gap:8px;flex-wrap:wrap}.notice{padding:10px 12px;border-radius:6px;background:#d7b46a21;border:1px solid rgba(215,180,106,.38);color:#f8e0a9}.segmented{display:grid;grid-template-columns:repeat(2,1fr) 46px;border:1px solid rgba(215,180,106,.28);border-radius:6px;overflow:hidden}.segmented button{border:0;padding:9px;background:#ffffff09;color:var(--brand-ink)}.segmented button.active{background:#d7b46a33;color:#ffe2a0;font-weight:700}.segmented .erase-tool{border-left:1px solid rgba(215,180,106,.2);color:#ffb3aa}.segmented .erase-tool.active{background:#a21c2657;color:#fff}.map-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.map-tabs button{border:1px solid rgba(215,180,106,.24);border-radius:6px;padding:11px 12px;color:var(--brand-muted);background:#ffffff09;font-weight:750;transition:border-color .18s ease,background-color .18s ease,color .18s ease}.map-tabs button.active{color:#ffe2a0;border-color:#d7b46a9e;background:linear-gradient(135deg,#d7b46a38,#a21c262e)}.mark-size-control{display:grid;grid-template-columns:auto minmax(120px,1fr) 54px;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(215,180,106,.22);border-radius:6px;background:#ffffff09}.mark-size-control span{color:var(--brand-muted);font-size:13px}.mark-size-control input{padding:0}.mark-size-control strong{color:var(--brand-accent-bright);text-align:right;font-size:13px}.map-zoom-controls{display:grid;grid-template-columns:42px 64px 42px;align-items:center;gap:8px}.map-zoom-controls button{min-height:36px;border:1px solid rgba(215,180,106,.28);border-radius:6px;color:var(--brand-ink);background:#ffffff0a}.map-zoom-controls button:hover{border-color:var(--brand-accent);color:var(--brand-accent-bright)}.map-zoom-controls span{color:var(--brand-accent-bright);text-align:center;font-size:13px;font-weight:800}.body-map{width:100%;aspect-ratio:13 / 14;border-radius:8px;background:#fff;border:1px solid rgba(215,180,106,.32);box-shadow:inset 0 0 0 1px #0000000d;touch-action:manipulation;-webkit-user-select:none;user-select:none}.image-map{position:relative;width:100%;border-radius:8px;overflow:hidden;background:#fff;border:1px solid rgba(215,180,106,.32);touch-action:none;-webkit-user-select:none;user-select:none;overscroll-behavior:contain;cursor:crosshair}.image-map-content{position:relative;width:100%;transform-origin:0 0;will-change:transform;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.image-map img{display:block;width:100%;height:auto;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.image-map-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.image-map-overlay .mark{pointer-events:all}.image-map-overlay .mark circle,.image-map-overlay .mark path{fill:#ff2d38;stroke:#ff2d38;stroke-width:1.1;vector-effect:non-scaling-stroke;stroke-linecap:round}.body-map-hint{margin:-4px 0 0;color:var(--brand-muted);font-size:13px}.map-title{fill:#111;font-size:14px;font-weight:800;letter-spacing:0}.body-skeleton path{fill:#fff;stroke:#111;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.body-region-hit{fill:transparent;stroke:transparent;stroke-width:18;cursor:pointer;pointer-events:stroke fill}.body-region{fill:#ffffff03;stroke:#111;stroke-width:1.7;cursor:pointer;transition:fill .16s ease,stroke .16s ease,filter .16s ease}.body-region-wrap:hover .body-region{fill:#d7b46a47;stroke:#111;filter:none}.body-region.selected{fill:#a21c2657;stroke:#a21c26;filter:none}.body-region-label{fill:#111;font-size:13px;font-weight:800;pointer-events:none;paint-order:stroke;stroke:#fff;stroke-width:4px}.body-map .mark circle,.body-map .mark path{fill:#ff4e58;stroke:#ff4e58;stroke-width:4;stroke-linecap:round}.muscle-map .muscle-zone{fill:#ffffff03;stroke:#111;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;cursor:crosshair;pointer-events:all}.muscle-map .muscle-zone:hover{fill:#d7b46a38;stroke:#111}.muscle-map .small-side{fill:#ffffff03}.muscle-map .muscle-line{fill:none;stroke:#111;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.muscle-map .dotted{stroke-dasharray:2 9;stroke-width:4}.selected-zones{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border:1px solid rgba(215,180,106,.22);border-radius:6px;background:#ffffff09;color:var(--brand-muted);font-size:13px}.selected-zones strong{color:var(--brand-accent-bright)}.pain-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.pain-row label{display:flex;align-items:center;gap:8px;min-width:120px}.visit-list{display:grid;gap:10px}.visit-list article{padding:12px;display:grid;gap:5px}.visit-list p{margin:0}.visit-form{align-items:end}.admin-form-grid{grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) minmax(180px,1fr) 120px;align-items:end}.admin-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-row{min-height:178px;padding:14px;display:grid;gap:14px;align-content:space-between;border-color:#d7b46a47;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease}.admin-row:hover{transform:translateY(-2px);border-color:#d7b46a94;box-shadow:0 14px 30px #00000038}.admin-row.inactive{opacity:.72;border-style:dashed}.admin-card-main{display:grid;gap:6px;min-width:0}.admin-card-main strong,.admin-card-main span,.admin-card-main small{overflow-wrap:anywhere}.status-pill{justify-self:start;padding:4px 8px;border-radius:999px;background:#52b06e29;border:1px solid rgba(110,220,142,.28);color:#a7f0bc;font-size:12px;font-weight:800}.status-pill.muted{background:#a21c2629;border-color:#ff7e7e52;color:#ffb3aa}.admin-actions{display:grid;grid-template-columns:1fr;gap:8px}@media(max-width:1080px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(3,1fr)}.patients-layout,.section-grid{grid-template-columns:1fr}.patient-filters,.patient-grid,.metric-grid,.form-grid.four,.form-grid.five,.admin-form-grid,.admin-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.workspace,.sidebar{padding:16px}.sidebar nav,.metric-grid,.patient-filters,.patient-grid,.form-grid.two,.form-grid.three,.form-grid.four,.form-grid.five,.admin-form-grid,.admin-list{grid-template-columns:1fr}.view-head,.admin-row{align-items:flex-start;flex-direction:column}.actions,.button,.primary,.ghost{width:100%}.mark-size-control,.map-zoom-controls{grid-template-columns:1fr}}
