/* Rayter Dental 0.9: calm, task-first clinical workspace. */
:root{font-family:Segoe UI,Arial,sans-serif;font-size:14px;color:#203c46;background:#f4f6f4;--line:#dce5e4;--blue:#14766f;--muted:#687d84;--surface:#fff;--nav:#f9fbfa;--focus:#b77717;--shadow:0 4px 24px #183d4610;--nav-width:246px;line-height:1.45}*{box-sizing:border-box}body{margin:0}a{color:#146f70;text-underline-offset:3px}button,input,select,textarea{font:inherit}button{border:1px solid transparent;border-radius:9px;background:var(--blue);color:#fff;cursor:pointer;padding:10px 15px;min-height:40px;transition:background .12s,box-shadow .12s}button:hover{filter:brightness(.96);box-shadow:0 3px 9px #203c4612}button:disabled{opacity:.55;cursor:wait;box-shadow:none}.secondary{background:#eef4f3;color:#30535b;border-color:#dce7e5}.danger{background:#ad453d}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #c9953b;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #48a59b;outline-offset:2px}header{min-height:91px;padding:18px 27px;display:flex;align-items:center;gap:11px;background:#fff;border-bottom:1px solid var(--line);color:#24444e}header .brand{min-width:208px;margin-right:auto;position:relative;padding-left:49px}header .brand:before{content:'R';display:grid;place-items:center;position:absolute;left:0;top:0;width:37px;height:43px;background:#143b45;color:#fff;border-radius:12px 12px 12px 3px;font-size:26px;font-weight:700;box-shadow:inset -4px 0 #38a397}header strong{font-size:23px;letter-spacing:-.6px}small{display:block;font-size:12px;margin-top:5px;color:inherit;opacity:.85}header small{font-size:11px;color:var(--muted)}#identity{font-size:12px;max-width:320px;padding:0 13px;border-left:1px solid var(--line);line-height:1.6}header button{font-size:12px;padding:8px 12px;white-space:nowrap}#logout{background:#fff;border-color:var(--line)}.notice{display:flex;gap:12px;flex-wrap:wrap;padding:9px 28px;background:#fcf3df;color:#7c5d22;border-bottom:1px solid #eadebe;font-size:12px}.notice strong{font-weight:600}.notice span{opacity:.94}#message{position:sticky;top:0;z-index:30;white-space:pre-wrap;background:#ffedeb;color:#8c3329;border-bottom:0 solid #efc8c3}#message:not(:empty){padding:12px 28px;border-bottom-width:1px}#shell{display:grid;grid-template-columns:var(--nav-width) minmax(0,1fr);min-height:calc(100vh - 166px)}nav{background:var(--nav);border-right:1px solid var(--line);padding:15px 13px 28px;position:sticky;top:0;max-height:100vh;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.nav-search{margin-bottom:18px;padding:0 3px}.nav-search label{font-size:10px;letter-spacing:.7px;text-transform:uppercase;margin-bottom:4px;color:#778d92}.nav-search input{margin-top:3px;padding:8px 10px;min-height:35px;font-size:12px;background:#fff;border-color:#dae4e1}.nav-search small{font-size:10px}.nav-group{margin:0 0 17px}.nav-group h2{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#809297;margin:0;padding:0 11px 7px}.nav-group button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;min-height:37px;margin:2px 0;padding:8px 11px;background:transparent;color:#48616a;font-size:12px;line-height:1.35;white-space:normal;border-radius:8px;border:1px solid transparent}.nav-group button:hover{background:#eaf1ef;box-shadow:none}.nav-group button.selected{background:#e1f1eb;color:#105e58;border-color:#c3e2d9;font-weight:650}.nav-symbol{color:#8ba19e;font-size:17px;line-height:16px;width:17px;text-align:center;flex-shrink:0}.selected .nav-symbol{color:#14766f}.nav-lock{font-size:10px;margin-left:auto}.workspace-heading{display:flex;justify-content:space-between;gap:15px;color:#849397;font-size:11px;margin:0 30px;padding:18px 0 13px;border-bottom:1px solid var(--line)}.workspace-heading strong{font-weight:600;color:#4b666e}.breadcrumb-separator{padding:0 7px;color:#a2b0b0}.workspace-date{white-space:nowrap}#workspace,#workspace>main{min-width:0}main{padding:25px 30px;min-width:0}#auth{max-width:770px;margin:20px auto 50px;padding:32px}#auth:empty{display:none}#auth h1{font-size:28px;letter-spacing:-.6px}#auth>p{max-width:620px}.card,form,.panel{border:1px solid var(--line);border-radius:13px;background:var(--surface);padding:21px;margin:0 0 19px;box-shadow:0 2px 7px #203c4603}h1{font-size:27px;line-height:1.25;letter-spacing:-.6px;font-weight:650;margin:0 0 21px;color:#173c46}h2{font-size:18px;line-height:1.35;font-weight:650;letter-spacing:-.15px;margin:22px 0 15px}h3{font-size:15px;font-weight:650;margin:18px 0 10px}p{line-height:1.65;margin:10px 0 16px}.card>h2:first-child,.panel>h2:first-child{margin-top:0}.muted{color:var(--muted);font-size:12px}.row{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}.row>*{flex:1;min-width:150px}.row>.card{align-self:stretch}.row>button{flex:0 1 auto}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}label{display:block;font-weight:600;font-size:12px;margin:0 0 16px;color:#48616a}input,select,textarea{display:block;width:100%;margin-top:7px;padding:11px 12px;min-height:42px;background:#fff;color:#203c46;border:1px solid #cddbd9;border-radius:8px;line-height:1.35}input::placeholder,textarea::placeholder{color:#93a4a7;font-weight:400}textarea{min-height:108px;resize:vertical;line-height:1.6;font-weight:400}input[type=number]{min-width:100px}input[type=checkbox],input[type=radio]{display:inline-block;width:auto;min-height:0;margin:0 5px 0 0;accent-color:#14766f;vertical-align:middle}.check{display:flex;align-items:flex-start;gap:10px;line-height:1.5}.check input{flex:none;margin-top:3px}.actions{display:flex;flex-wrap:wrap;gap:9px;margin:17px 0}.actions button{font-size:13px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:11px;background:var(--surface);overscroll-behavior-x:contain;margin:13px 0 22px}table{border-collapse:collapse;width:100%;font-size:13px;background:var(--surface)}th,td{padding:13px 15px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}th{color:#6d8288;font-size:11px;font-weight:650;background:#f6f9f7;white-space:nowrap}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f7faf8}td{max-width:400px;overflow-wrap:anywhere}td button{font-size:11px;min-height:32px;padding:6px 10px;margin:0 0 3px}td.date-column{white-space:nowrap;min-width:125px}td.state-column{min-width:130px;overflow-wrap:normal}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f0f6f3;padding:15px;border-radius:9px;font-size:12px}.badge{display:inline-block;background:#edf4f0;color:#476c63;padding:5px 10px;border-radius:20px;font-size:11px}.warning{color:#915a25}.empty{padding:35px 24px;text-align:center;background:var(--surface);border:1px dashed #c5d8d3;border-radius:12px;color:#71868c;font-size:13px}.metric{font-size:29px;font-weight:650;letter-spacing:-1px;color:#166c66;font-variant-numeric:tabular-nums;margin-top:8px}.status-panel{border-left:4px solid #c4933c}dialog{border:1px solid var(--line);border-radius:17px;max-width:820px;width:92vw;max-height:90vh;overflow:auto;padding:27px;box-shadow:0 25px 90px #0f31382b}dialog::backdrop{background:#0f31386e;backdrop-filter:blur(2px)}dialog h2{margin-top:0}dialog form{box-shadow:none}fieldset{border:1px solid var(--line);border-radius:9px;margin:15px 0;padding:15px}details summary{cursor:pointer;color:#315d66}.tooth-grid{display:grid;grid-template-columns:repeat(16,minmax(34px,1fr));gap:5px;margin-bottom:15px}.tooth-grid button{padding:8px 3px;background:#eef4f2;color:#315d66}.tooth-grid button.selected{background:#14766f;color:#fff}.save-state{min-height:24px;color:#68858a;font-size:12px}.print-only{display:none}footer{display:flex;justify-content:space-between;gap:15px;padding:16px 28px;font-size:10px;color:#8b9d9f;border-top:1px solid var(--line);background:var(--surface)}#coach{margin:18px 30px 0;padding:15px 18px;background:#fcf5e4;border:1px solid #e9d59f;border-radius:12px;color:#7e602a;display:flex;gap:14px;align-items:center;justify-content:space-between;font-size:13px}.coach-caption{display:flex;align-items:flex-start;gap:13px;min-width:0}.coach-caption>div{min-width:0;flex:1;overflow-wrap:anywhere}.coach-caption p{margin:5px 0 0;font-size:12px}.bulb{font-size:22px}.coach-steps li{margin:12px 0;line-height:1.6}.coach-highlight{outline:3px solid #d8a63e!important;outline-offset:4px}.field-error{border:2px solid #bd3333!important}.button-link{display:inline-flex;background:var(--blue);color:#fff;padding:12px 16px;border-radius:9px;text-decoration:none;margin:8px 0}.push-error{display:block;min-width:220px}.skip-link{position:absolute;left:10px;top:-100px;z-index:100;padding:10px 15px;border-radius:8px;background:#fff;color:#143b45}.skip-link:focus{top:10px}.mobile-navigation{display:none}[hidden]{display:none!important}
@media(min-width:1600px){#content{max-width:1600px}.nav-group button{font-size:13px}.nav-group h2{font-size:11px}}
@media(max-width:1150px){header{flex-wrap:wrap;gap:9px;padding:15px 22px}header .brand{min-width:190px}#identity{max-width:300px;margin-right:auto}header button{font-size:11px;padding:7px 10px}main{padding:23px}.workspace-heading{margin:0 23px}#coach{margin-left:23px;margin-right:23px}}
@media(max-width:960px){:root{--nav-width:220px}header{padding:13px 18px}header .brand{flex:1;min-width:200px}header strong{font-size:21px}#identity{font-size:11px;max-width:280px}#shell{display:block}.mobile-navigation{display:inline-flex;align-items:center;justify-content:center}#shell nav{display:none;position:static;max-height:350px;border-right:0;border-bottom:1px solid var(--line);padding:14px 18px}#shell.nav-open nav{display:block}.nav-group{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}.nav-group h2{flex:0 0 100%;padding:5px 8px}.nav-group button{width:auto;min-width:170px;flex:1 0 170px;max-width:300px;margin:0}.nav-search{max-width:420px;margin-bottom:12px}.notice{padding:9px 18px;gap:4px 10px}.workspace-heading{padding-top:14px}.nav-open+#workspace{display:block}}
@media(max-width:640px){header{gap:7px;padding:13px 14px}header .brand{min-width:180px;padding-left:41px}header .brand:before{width:32px;height:37px;font-size:23px;border-radius:10px 10px 10px 3px}header strong{font-size:20px}header small{font-size:10px;margin-top:2px}#identity{order:3;flex:0 0 100%;border-left:0;border-top:1px solid var(--line);max-width:none;padding:8px 0 0;margin:2px 0 0}header button{min-height:33px;font-size:10px;padding:6px 9px}#hints-toggle{max-width:135px}.notice{font-size:10px;padding:8px 14px}.workspace-heading{margin:0 16px;font-size:10px}.workspace-date{display:none}main{padding:21px 16px}h1{font-size:24px}h2{font-size:17px}.fields{grid-template-columns:1fr}.card,form,.panel{padding:17px;border-radius:11px}#auth{padding:22px 16px;margin:10px auto 30px}#auth h1{font-size:25px}.row{gap:8px}.row>*{min-width:140px}.metric{font-size:25px}.actions{gap:7px}.actions button{font-size:12px}.table-wrap{border-radius:9px}th,td{padding:10px}#coach{display:block;margin:14px 16px 0;padding:13px;font-size:12px}#coach .actions{margin-bottom:0}.tooth-grid{grid-template-columns:repeat(8,1fr)}footer{padding:13px 16px}footer span{display:none}dialog{padding:18px;max-height:92vh;width:95vw;border-radius:12px}}
@media print{header,nav,footer,.notice,#message,.actions,.no-print,dialog,.workspace-heading,#coach,.skip-link{display:none!important}#shell{display:block!important}#content{padding:0}.print-only{display:block}table{font-size:11px}form{display:none}.card{border:0;padding:0;box-shadow:none}.print-header{border-bottom:2px solid #333;margin-bottom:15px;padding-bottom:12px}body{background:white;color:black}h1,h2{color:black}}

/* Small screens retain readable tabular data; the containing panel scrolls. */
@media(max-width:640px){.table-wrap table{min-width:620px}header #support-open{font-size:0}header #support-open:after{content:'Поддержка';font-size:10px}}
#plan-stages>button{margin:6px 8px 0 0}.success{color:#26775e}body.dark .success{color:#8bd6b7}
