/* Thrivon 3.4 — iconography and precise navigation finishing.
   Applied after 90-design-system.css; respects all theme tokens. */
:root{--ti-rail:#edf6f2;--ti-active:#0b7956;--ti-accent:#07b97b;--ti-sub:#778da0;--ti-ring:rgba(0,180,118,.13)}
:root[data-theme="dark"]{--ti-rail:#19382f;--ti-active:#76e6b7;--ti-accent:#3bdd9d;--ti-sub:#90a9bc;--ti-ring:rgba(71,233,168,.15)}
.ti{display:inline-block;vertical-align:middle;flex:none;overflow:visible;color:inherit;shape-rendering:geometricPrecision;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.ti *{vector-effect:non-scaling-stroke}
.nav-section{padding-top:4px}
.nav-heading{font-size:10px;letter-spacing:.13em;min-height:31px;padding:6px 12px 7px;color:var(--t-faint)}
.nav-folder,.nav-leaf{display:flex;align-items:center;gap:11px;min-height:45px;border-radius:12px;padding:8px 11px;font-size:12.5px;letter-spacing:-.005em;font-weight:550;transition:background-color .17s ease,color .17s ease,box-shadow .17s ease}
.nav-leaf:hover,.nav-folder:hover{background:var(--t-menu-hover);color:var(--t-ink-strong)}
.nav-icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:9px;color:var(--t-muted);opacity:1;transition:background-color .17s ease,color .17s ease,transform .17s ease}
.nav-icon .ti{width:19px;height:19px;stroke-width:1.72}
.nav-leaf:hover .nav-icon,.nav-folder:hover .nav-icon{color:var(--t-ink-strong);background:var(--t-paper-alt)}
.nav-leaf.active{background:var(--t-menu-active);color:var(--t-ink-strong);font-weight:700;box-shadow:inset 2.5px 0 0 var(--ti-accent)}
.nav-leaf.active .nav-icon{background:var(--ti-rail);color:var(--ti-active)}
.nav-leaf.active:hover .nav-icon{background:var(--ti-rail);color:var(--ti-active)}
.nav-folder.active{background:transparent;color:var(--t-ink-strong);font-weight:670}
.nav-folder.active .nav-icon{background:var(--ti-rail);color:var(--ti-active)}
.nav-folder-wrap>.nav-children{border-left:1px solid var(--t-sidebar-line);margin-left:25px;padding-left:9px;gap:2px}
.nav-leaf.nav-sub{padding:7px 9px;min-height:37px;font-size:11.7px;gap:7px;font-weight:520;border-radius:9px}
.nav-leaf.nav-sub .nav-icon{flex-basis:24px;width:24px;height:24px;border-radius:7px}
.nav-leaf.nav-sub .nav-icon .ti{width:15.5px;height:15.5px;stroke-width:1.72}
.nav-leaf.nav-sub.active{color:var(--ti-active);box-shadow:none;font-weight:700;background:var(--t-menu-active)}
.nav-leaf.nav-sub.active .nav-icon{background:transparent;color:var(--ti-active)}
.nav-folder>.nav-chevron,.nav-heading>.nav-chevron{height:18px;width:18px;display:grid;place-items:center;line-height:0;margin-left:auto;color:var(--t-faint);transition:transform .2s ease,color .2s ease}
.nav-chevron .ti{width:14px;height:14px;stroke-width:1.8}
.nav-folder:hover>.nav-chevron,.nav-heading:hover>.nav-chevron{color:var(--t-ink)}
.nav-leaf .nav-sub-dot{display:none}
/* v3.4 shared tool/button primitives */
.ti-control{display:inline-flex;align-items:center;justify-content:center;flex:none;line-height:0}
.ti-control .ti{width:16px;height:16px;stroke-width:1.85}
.btn .ti-control,.ops-button .ti-control,.wa-btn .ti-control,.inv-button .ti-control,.fin-button .ti-control{margin-right:1px}
.btn:has(> .ti-control){gap:8px}
.btn.sm:has(.ti-control):not(.primary){min-height:35px}
.modal-head .btn.sm:has(.ti-control),.cloud-dialog .btn.sm:has(.ti-control){width:35px;height:35px;min-width:35px;padding:0;border-radius:10px;color:var(--t-muted)}
.modal-head .btn.sm:has(.ti-control):hover,.cloud-dialog .btn.sm:has(.ti-control):hover{color:var(--t-ink);background:var(--t-menu-hover)}
.mobile-menu:has(>.ti-control){align-items:center;justify-content:center;font-size:0;line-height:0}
.mobile-menu .ti-control .ti{width:20px;height:20px}
.logout-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.logout-btn .ti-control .ti{width:14px;height:14px}
.theme-icon{display:grid;place-items:center;width:20px;height:20px;font-size:0;line-height:0}
.theme-icon .ti{width:19px;height:19px;stroke-width:1.8}
.bi-alert-icon .ti{height:18px;width:18px;stroke-width:1.8}
.bi-refresh .ti-control,.bi-export .ti-control{margin-right:6px}
/* Microinteractions are quiet: no bouncing/shaking for a professional feel. */
@media(hover:hover){.nav-leaf:not(.active):hover .nav-icon,.nav-folder:not(.active):hover .nav-icon{transform:translateY(-.5px)}}
@media(max-width:990px){.nav-folder,.nav-leaf{min-height:45px}.mobile-menu:has(>.ti-control){display:inline-flex}}
@media(max-width:640px){.nav-folder,.nav-leaf{font-size:12.5px}.nav-leaf.nav-sub{font-size:11.8px}.theme-icon{width:18px;height:18px}}
@media(prefers-reduced-motion:reduce){.nav-folder,.nav-leaf,.nav-icon,.nav-chevron{transition:none!important;transform:none!important}}

/* Illustrations and empty states use the same system, not platform emoji. */
.os-empty-icon{display:grid;place-items:center;margin:0 auto 18px;width:58px;height:58px;border-radius:18px;background:var(--t-menu-active);color:var(--ti-active);border:1px solid var(--t-line)}
.os-empty-icon .ti{width:29px;height:29px;stroke-width:1.65}
.inv-product-icon .ti{stroke-width:1.7}
.os-view-opts .ti-control{margin-right:2px}

/* Interactive Design System specimen */
.ti-showcase{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.ti-showcase-tile{border:1px solid var(--t-line);background:var(--t-paper);border-radius:13px;min-height:106px;padding:14px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;color:var(--t-ink);font-size:12px;font-weight:680;transition:border-color .18s ease,background .18s ease}
.ti-showcase-tile:hover{background:var(--t-menu-hover);border-color:var(--t-line-strong)}
.ti-showcase-symbol{width:39px;height:39px;border-radius:11px;display:grid;place-items:center;margin-bottom:2px;background:var(--t-paper-alt);color:var(--ti-active)}
.ti-showcase-tile small{color:var(--t-faint);font-size:9px;font-weight:500;word-break:break-all}
.ti-example-nav{margin-top:20px;max-width:340px;padding:14px;background:var(--t-paper-alt);border:1px solid var(--t-line);border-radius:14px;display:grid;gap:6px}
.ti-example-label{padding:3px 10px;color:var(--t-faint);font-size:10px;letter-spacing:.15em;font-weight:750}
.ti-example-menu{display:flex;align-items:center;gap:12px;border-radius:10px;padding:10px 12px;background:var(--t-menu-active);color:var(--ti-active);font-size:12px}
.ti-example-menu.secondary{background:transparent;color:var(--t-muted)}
.ti-example-menu .ti{height:19px;width:19px}.ti-example-active{margin-left:auto;font-size:10px;opacity:.75}
@media(max-width:450px){.ti-showcase{grid-template-columns:repeat(2,minmax(0,1fr))}}
