:root{font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#203430;background:#f5f7f6;font-size:16px;line-height:1.65;--green:#176b59;--line:#dfe7e3;--muted:#63756e}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:var(--green)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(26px,3vw,36px);line-height:1.35;letter-spacing:-.03em;margin-bottom:12px}h2{font-size:21px;margin-bottom:16px}h3{font-size:17px;margin-bottom:8px}.muted,.small{color:var(--muted)}.small{font-size:13px}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--green);margin:24px 0 10px}.d-none,[hidden]{display:none!important}.brand{display:block;font-weight:800;font-size:20px;text-decoration:none;color:#173c32;letter-spacing:-.04em}.brand span{font-size:12px;letter-spacing:0;background:#e3efea;padding:4px 8px;border-radius:6px;margin-left:5px}
.sidebar{position:fixed;inset:0 auto 0 0;width:235px;background:white;border-right:1px solid var(--line);padding:32px 24px;display:flex;flex-direction:column;gap:32px}.sidebar nav{display:grid;gap:8px}.sidebar nav button{background:none;border:0;text-align:left;padding:12px 16px;border-radius:9px;color:var(--muted);font-weight:600}.sidebar nav button[aria-current=page]{background:#e8f2ed;color:var(--green)}.side-foot{margin-top:auto}.side-foot button{width:100%}.workspace{margin-left:235px;max-width:1500px;padding:24px 48px 80px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:24px;margin-bottom:26px;border-bottom:1px solid var(--line)}.topbar p{margin:0}.page-head{max-width:740px;margin-bottom:32px}.panel{background:white;border:1px solid var(--line);border-radius:14px;padding:26px;margin-bottom:24px}.panel p:last-child{margin-bottom:0}.row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.badge{display:inline-block;border-radius:6px;background:#e9f2ed;color:var(--green);font-size:12px;font-weight:600;padding:4px 9px}.empty{text-align:center;padding:52px 18px}.empty .symbol{margin:0 auto 18px;background:#edf4ef;color:#487b68;width:56px;height:56px;border-radius:50%;display:grid;place-content:center;font-size:25px}.empty p{max-width:400px;margin:0 auto 10px}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:10px}.tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:12px 0;color:var(--muted)}.tabs button[aria-selected=true]{border-bottom-color:var(--green);color:var(--green);font-weight:700}button.primary{background:var(--green);color:white;border:1px solid var(--green);border-radius:8px;padding:10px 18px;font-weight:600}button.secondary,.text-button{background:white;border:1px solid var(--line);border-radius:8px;color:var(--green);padding:9px 14px}.text-button{border:0;background:none;padding:6px}.notice{border-radius:8px;padding:12px 16px;margin:16px 0;background:#edf3ef;color:#335a4a}.notice.error,.alert-danger{background:#fff0ed;color:#922f26}.alert{padding:12px;border-radius:8px;margin-bottom:14px}label{display:block;font-size:14px;font-weight:600;margin:16px 0 6px}input,select{border:1px solid #bdcec5;border-radius:7px;padding:10px 12px;background:white;max-width:100%;min-width:0;color:#203430}form input:not([type=checkbox]),form select{width:100%}.check{display:flex;gap:8px;align-items:center;font-weight:400}.check input{width:17px;height:17px}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px 10px}th{color:var(--muted);font-size:12px;font-weight:600}.table-scroll{overflow:auto}.search-results{display:grid;gap:6px;margin-top:10px}.search-results button{text-align:left;white-space:normal}.inline-status{min-height:26px}.catalog-card{border-left:3px solid #75a88b}.component{padding:14px 0;border-bottom:1px solid var(--line)}.component:last-child{border:0}.component p{margin:4px 0}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at top right,#dfebe2,transparent 70%),#f4f7f4}.login-card{width:100%;max-width:430px;background:white;border:1px solid var(--line);padding:40px;border-radius:20px;box-shadow:0 14px 50px #183e3110}.login-card .primary{width:100%;margin:14px 0}.password-field{position:relative}.password-field input{padding-right:106px}.password-field button{position:absolute;right:6px;top:6px;font-size:12px}.access-error{max-width:640px;margin:80px auto;padding:30px}.pill{padding:7px 12px;background:#eef2ee;border-radius:7px;font-size:13px}
@media(max-width:1000px){.workspace{padding:24px}.sidebar{width:200px;padding:24px 18px}.workspace{margin-left:200px}.grid{grid-template-columns:1fr}}
@media(max-width:700px){.sidebar{position:static;width:100%;padding:16px;border:0;border-bottom:1px solid var(--line);gap:14px}.sidebar nav{display:flex;gap:8px;overflow:auto}.sidebar nav button{white-space:nowrap;padding:8px 12px}.side-foot{display:none}.workspace{margin:0;padding:20px 16px 48px}.topbar{padding-bottom:16px;margin-bottom:20px}.panel{padding:20px}.login-card{padding:28px}.tabs{gap:20px}.topbar .row{gap:8px}.page-head{margin-bottom:22px}.empty{padding:32px 8px}}
@media print{.sidebar,.topbar,button{display:none}.workspace{margin:0;padding:0}.panel{break-inside:avoid;border:0;box-shadow:none}body{background:white}}

/* psle-secondary-oral-nav-style */
.sidebar nav a.secondary-oral-nav{display:block;padding:12px 16px;border-radius:9px;text-decoration:none;font-weight:600;}
