/* Ria web components per the Ria design system (Mono). Linked LAST on every page, after the page's own <style>,
   so the DS specs win over page-local rules. Tokens: ria-tokens.css. Interactions: DS section 3.9
   (press feedback, selected state kept, Escape closes a sheet, visible keyboard focus). */
html{-webkit-text-size-adjust:100%}
body{font-family:var(--ria-font);font-weight:500;color:var(--ria-ink);background:var(--ria-app);text-rendering:optimizeLegibility}
h1,h2,h3{font-family:var(--ria-font);color:var(--ria-ink)}
a{color:var(--ria-ink);text-decoration-color:var(--ria-outline);text-underline-offset:3px}
::placeholder{color:var(--ria-placeholder)}
::selection{background:var(--ria-icon-tile)}

/* focus and press (3.9) */
:focus{outline:none}
:focus-visible{outline:2px solid var(--ria-ink);outline-offset:2px;border-radius:var(--r-control)}
button,.btn,.pill,.chip,.cta,.nav,[role=button],[data-act]{-webkit-tap-highlight-color:transparent;transition:background-color .15s var(--m-ease),border-color .15s var(--m-ease),color .15s var(--m-ease),transform .12s var(--m-ease),opacity .15s}
button:active:not(:disabled),.btn:active:not(:disabled),.pill:active,.cta:active,.nav:active{transform:scale(.98)}
.btn:disabled,.btn[disabled]{opacity:1;background:var(--ria-disabled)!important;color:var(--ria-onDark)!important;border-color:var(--ria-disabled)!important;cursor:default}
.btn.out:disabled,.btn.line:disabled,.pill:disabled{background:var(--ria-card)!important;color:var(--ria-disabled)!important;border-color:var(--ria-line)!important}

/* buttons: full pills, 52 / 46 / 36 */
.btn,.cta,.pill.pri,.pill{border-radius:var(--r-pill)}
.btn{min-height:46px;height:auto;padding:0 22px;font:800 var(--t15)/1.2 var(--ria-font);background:var(--ria-action);color:var(--ria-onDark);border:1px solid var(--ria-action)}
.btn.lg{min-height:52px;font-size:var(--t16)}
.btn.sm{min-height:36px;height:auto;padding:0 16px;font-size:var(--t14);border-radius:var(--r-pill)}
.btn.dark,.btn.pri,.btn.forest{background:var(--ria-action);border-color:var(--ria-action);color:var(--ria-onDark)}
.btn.out,.btn.line,.btn.sec{background:var(--ria-card);color:var(--ria-ink);border:1px solid var(--ria-outline)}
.btn:hover:not(:disabled){opacity:.88}
.btn.out:hover:not(:disabled),.btn.line:hover:not(:disabled),.btn.sec:hover:not(:disabled){background:var(--ria-wash);opacity:1}
.pill{min-height:36px;height:auto;padding:0 18px;font:800 var(--t14)/1.2 var(--ria-font);border:1px solid var(--ria-outline);background:var(--ria-card);color:var(--ria-ink)}
.pill.pri{background:var(--ria-action);border-color:var(--ria-action);color:var(--ria-onDark)}
.pill:hover:not(:disabled){background:var(--ria-wash)}.pill.pri:hover:not(:disabled){background:var(--ria-action);opacity:.88}

/* chips and badges: label 11/14 800, pill */
.chip,.tag,.badge,.okchip,.tmod .st,.int i{font-family:var(--ria-font);font-size:var(--t11);line-height:14px;font-weight:800;letter-spacing:0;text-transform:none;border-radius:var(--r-pill)}
.tag{padding:4px 10px;background:var(--ria-icon-tile);color:var(--ria-muted)}
.tag.ok{background:var(--ria-success-bg);color:var(--ria-success-deep)}
.tag.coral{background:var(--ria-icon-tile);color:var(--ria-ink)}
.tag.amber{background:var(--ria-waiting-bg);color:var(--ria-waiting)}
.chip{border:1px solid var(--ria-line);background:var(--ria-card);color:var(--ria-ink)}
.chip[aria-pressed=true],.chip.on,.chip[aria-selected=true]{background:var(--ria-ink);color:var(--ria-onDark);border-color:var(--ria-ink)}
.nav .ct{min-width:20px;text-align:center;font-size:var(--t11);line-height:14px;font-weight:800;padding:3px 7px;background:var(--ria-action);color:var(--ria-onDark);border-radius:var(--r-pill)}

/* inputs */
label{font-size:var(--t12);line-height:16px;font-weight:700;color:var(--ria-muted)}
input,select,textarea{font-size:var(--t15);font-weight:500;min-height:46px;border:1px solid var(--ria-line-strong);border-radius:var(--r-control);background:var(--ria-card);color:var(--ria-ink)}
input[type=checkbox],input[type=radio]{min-height:0;accent-color:var(--ria-ink)}
input[type=color]{min-height:0}
input:focus,select:focus,textarea:focus{border-color:var(--ria-ink);box-shadow:0 0 0 3px var(--ria-icon-tile);outline:none}
input:disabled,select:disabled,textarea:disabled{background:var(--ria-wash);color:var(--ria-subtle)}
input[aria-invalid=true]{border-color:var(--ria-error)}

/* cards */
.card{background:var(--ria-card);border:1px solid var(--ria-line);border-radius:var(--r-card);box-shadow:none}
.card.dark{background:var(--ria-ink);color:var(--ria-onDark);border-color:var(--ria-ink)}
.cn:hover,.tmod:hover,.card.click:hover{border-color:var(--ria-outline);box-shadow:var(--sh-card)}

/* icon tiles: monochrome Ria icons (img/ria-icons/*.svg, Material Round) on iconTile */
img[src*="ria-icons/"]{object-fit:contain;box-sizing:border-box}
.head>img[src*="ria-icons/"],.kpi>img[src*="ria-icons/"],.list .it>img[src*="ria-icons/"],.it>img[src*="ria-icons/"],.mod>img[src*="ria-icons/"],.row .ico img[src*="ria-icons/"],.conn>img[src*="ria-icons/"]{background:var(--ria-icon-tile);padding:9px;border-radius:var(--r-control)}
.head>img[src*="ria-icons/"]{width:48px;height:48px;padding:12px;border-radius:14px}
.kpi>img[src*="ria-icons/"]{width:44px;height:44px;padding:11px}
.list .it>img[src*="ria-icons/"]{width:40px;height:40px}
.rail .nav img[src*="ria-icons/"]{width:24px;height:24px;padding:0;border-radius:0;background:none;opacity:.6}
.rail .nav[aria-current=page] img[src*="ria-icons/"],.rail .nav:hover img[src*="ria-icons/"]{opacity:1}

/* list rows */
.list .it{border-top:1px solid var(--ria-line-soft);min-height:64px}
.list .it b{font-size:var(--t15);line-height:22px;font-weight:800}
.list .it span{font-size:var(--t13);line-height:19px;font-weight:600;color:var(--ria-muted)}
tr.click:hover td,.cv:hover,.cv.on{background:var(--ria-wash)}
th{font:800 var(--t11)/14px var(--ria-font);letter-spacing:.06em;color:var(--ria-subtle)}
td{border-top:1px solid var(--ria-line-soft)}

/* sidebar */
.rail{background:var(--ria-card);border-right:1px solid var(--ria-line)}
.rail .nav,.nav{border-radius:var(--r-control);min-height:44px;color:var(--ria-muted);font-weight:700;font-size:var(--t14)}
.rail .nav:hover,.nav:hover{background:var(--ria-wash)}
.rail .nav[aria-current=page],.nav[aria-current=page]{background:var(--ria-icon-tile);color:var(--ria-ink);font-weight:800}
.sec{font:800 var(--t11)/14px var(--ria-font);letter-spacing:.08em;color:var(--ria-subtle)}
.av,.tb .ava,.pg .big{background:var(--ria-ink);color:var(--ria-onDark)}
.me{background:var(--ria-wash)}
.tb,.acctbar{background:var(--ria-card);border-bottom:1px solid var(--ria-line)}
.tb .ask{border-color:var(--ria-ink);color:var(--ria-ink)}
.tb .sbox input{background:var(--ria-wash);border-color:transparent}
.tb .menu,.acctbar .menu{border-radius:var(--r-card);box-shadow:var(--sh-raised);border:1px solid var(--ria-line)}
.tb .menu a:hover,.acctbar .menu a:hover,.tb .menu a[aria-current],.acctbar .menu a[aria-current]{background:var(--ria-wash)}
.rail .nav[aria-current=page]{background:var(--ria-icon-tile)}

/* tabs */
.cu-tabs button,.tabs button,.tabs a{font:800 var(--t14)/20px var(--ria-font);color:var(--ria-muted)}
.cu-tabs button[aria-selected=true],.tabs .on,.tabs [aria-selected=true]{color:var(--ria-ink);border-bottom-color:var(--ria-ink)}
.days button[aria-pressed=true],.cvw .seg button[aria-pressed=true]{background:var(--ria-ink);color:var(--ria-onDark);border-color:var(--ria-ink)}
.slots button[aria-pressed=true]{background:var(--ria-ink);color:var(--ria-onDark);border-color:var(--ria-ink)}
.lay button[aria-pressed=true],.sw button[aria-pressed=true]{border-color:var(--ria-ink)}
.days button,.slots button{border-radius:var(--r-pill)}

/* drawer (sheet), scrim, toast */
.drawer{background:var(--ria-card);border-left:0;border-radius:var(--r-sheet) 0 0 var(--r-sheet);box-shadow:var(--sh-raised);transition:transform var(--m-sheet) var(--m-ease),visibility var(--m-sheet)}
@media (max-width:900px){.drawer{border-radius:var(--r-sheet) 0 0 var(--r-sheet)}}
.scrim.on{background:var(--ria-scrim)}
.toast{background:var(--ria-ink);color:var(--ria-onDark);border-radius:var(--r-toast);font-size:var(--t14);line-height:20px;font-weight:700;box-shadow:var(--sh-raised);max-width:calc(100vw - 32px)}
.tip{background:var(--ria-ink);border-radius:var(--r-small)}
.spin{border-color:var(--ria-line);border-top-color:var(--ria-ink)}
.err{color:var(--ria-error)}
.m.owner{background:var(--ria-ink);color:var(--ria-onDark)}
.m.twin{background:var(--ria-success-bg)}
.fn i{background:var(--ria-ink)}
.ch-ok{background:var(--ria-success-bg);color:var(--ria-success-deep);border-radius:var(--r-control)}
.ch-st.ok{color:var(--ria-success)}
.code{background:var(--ria-wash)}
.empty{color:var(--ria-subtle)}
.cn .lg,.drawer .lg,.conn .lg{border:1px solid var(--ria-line);border-radius:var(--r-control)}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation-duration:.001s!important;scroll-behavior:auto!important}}
.rail .nav[aria-current=page] svg,.rail .nav:hover svg{color:var(--ria-ink)}
/* narrow screens: wide tables scroll inside their card, never the page */
.card:has(>table),.card:has(table){overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:700px){
  main .row,.head .act{flex-wrap:wrap}
  main .card{min-width:0;max-width:100%}
  .list .it{flex-wrap:wrap}
  .list .it .row{flex-wrap:wrap;min-width:0}
  .list .it .row input,.list .it .row select{width:auto;min-width:0;flex:1 1 96px}
  main .card p,main .card h2{overflow-wrap:anywhere}
}
