:root{--paper: #F6F6F2;--card: #FFFFFF;--ink: #21261F;--muted: #70766B;--line: #E1E3DA;--accent: #2F6B4F;--accent-ink: #1C4433;--accent-soft: #E7F0EA;--warn: #8A5A12;--warn-soft: #F7EDD8;--danger: #A33528;--danger-soft: #F8E9E6;--info-soft: #E8EDF4;--info-ink: #34506E;--radius: 10px;--shadow: 0 1px 2px rgba(33, 38, 31, .07)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 Segoe UI,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit;color:var(--ink)}.topbar{background:var(--card);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px;padding:0 24px;height:56px}.brand{font-size:19px;font-weight:600;letter-spacing:-.2px;color:var(--ink)}.brand em{font-style:normal;color:var(--accent)}.topnav{display:flex;gap:4px;height:100%}.topnav a{display:flex;align-items:center;padding:0 14px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.topnav a:hover{color:var(--ink);text-decoration:none}.topnav a.active{color:var(--ink);border-bottom-color:var(--accent)}.topbar .spacer{flex:1}.tenant-switch{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:6px 10px;max-width:220px}.linklike{background:none;border:none;color:var(--muted);padding:6px}.linklike:hover{color:var(--ink)}.page{max-width:1100px;margin:0 auto;padding:28px 24px 64px}.page h1{font-size:22px;font-weight:600;margin:0 0 4px}.page .sub{color:var(--muted);margin:0 0 24px}.row{display:flex;align-items:center;gap:12px}.btn{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:var(--radius);padding:8px 16px;font-weight:500}.btn:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.btn.secondary{background:var(--card);color:var(--ink);border-color:var(--line)}.btn.secondary:hover{border-color:var(--muted);background:var(--card)}.btn:disabled{opacity:.55;cursor:default}.field{display:block;margin-bottom:14px}.field span{display:block;font-size:13px;color:var(--muted);margin-bottom:4px}.field input,.field select{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card)}.field input:focus,.field select:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card.pad{padding:20px}.chip{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12.5px;font-weight:500;white-space:nowrap}.chip.ok{background:var(--accent-soft);color:var(--accent-ink)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.danger{background:var(--danger-soft);color:var(--danger)}.chip.info{background:var(--info-soft);color:var(--info-ink)}.chip.plain{background:var(--paper);color:var(--muted);border:1px solid var(--line)}table.data{width:100%;border-collapse:collapse}table.data th{text-align:left;font-size:12.5px;font-weight:500;color:var(--muted);padding:10px 14px;border-bottom:1px solid var(--line)}table.data td{padding:10px 14px;border-bottom:1px solid var(--line)}table.data tbody tr:hover{background:var(--paper);cursor:pointer}table.data tbody tr:last-child td{border-bottom:none}.dropzone{border:1.5px dashed var(--line);border-radius:var(--radius);background:var(--card);padding:34px 20px;text-align:center;color:var(--muted);transition:border-color .15s,background .15s}.dropzone.over{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.dropzone strong{color:var(--ink)}.inbox-item{display:flex;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line)}.inbox-item:last-child{border-bottom:none}.inbox-item .meta{flex:1;min-width:0}.inbox-item .name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inbox-item .summary{color:var(--muted);font-size:13.5px;margin-top:2px}.suggest{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin-top:12px}.suggest h4{margin:0 0 10px;font-size:13.5px;font-weight:600}.suggest .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 16px}.empty{text-align:center;color:var(--muted);padding:48px 20px}.error{background:var(--danger-soft);color:var(--danger);border-radius:8px;padding:10px 14px;margin-bottom:14px}.auth-wrap{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:400px;max-width:100%}.auth-card .brand{font-size:30px;display:block;text-align:center;margin-bottom:6px}.auth-card .tag{text-align:center;color:var(--muted);margin:0 0 26px}@media (max-width: 720px){.topbar{padding:0 12px;gap:10px;overflow-x:auto}.page{padding:20px 12px 48px}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#21261f59;display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 40px #21261f38;width:420px;max-width:calc(100vw - 32px);max-height:80vh;overflow:auto;padding:20px;animation:modal-zoom .16s ease-out}@keyframes modal-zoom{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){.modal{animation:none}}.modal h3{margin:0 0 4px;font-size:16px}.modal .hint{color:var(--muted);font-size:13px;margin:0 0 14px}.col-option{display:flex;align-items:center;gap:10px;padding:8px 6px;border-radius:8px;cursor:pointer}.col-option:hover{background:var(--paper)}.col-option input{accent-color:var(--accent);width:16px;height:16px}.col-option .t{color:var(--muted);font-size:12.5px;margin-left:auto}.footer{background:var(--ink);color:#c9cec5;display:flex;align-items:center;gap:18px;padding:14px 24px;margin-top:48px;font-size:13px}.footer .brand{color:#fff;font-size:15px}.footer .brand em{color:#7fbfa4}.footer .v{color:#8a9086}.footer .footer-logo{height:26px;display:block}#root{display:flex;flex-direction:column;min-height:100%}#root>.page,.app-main{flex:1}.navitem{position:relative;display:flex;align-items:center;height:100%}.navitem.drop-target>a{outline:2px dashed var(--accent);outline-offset:-2px;border-radius:6px}.navitem .caret{color:var(--muted);font-size:10px;margin-left:-8px;padding-right:8px}.dropdown{display:none;position:absolute;top:100%;left:0;min-width:180px;background:var(--card);border:1px solid var(--line);border-radius:0 0 10px 10px;box-shadow:var(--shadow);z-index:30;padding:6px 0}.navitem:hover .dropdown,.navitem:focus-within .dropdown{display:block}.dropdown a{display:block;padding:8px 14px;color:var(--ink);border:none}.dropdown a:hover{background:var(--paper);text-decoration:none}.dropdown a.active{color:var(--accent);font-weight:500}.gsearch{position:relative}.gsearch input{padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);width:220px}.gsearch .results{position:absolute;top:calc(100% + 6px);right:0;width:340px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px #21261f2e;z-index:40;overflow:hidden}.gsearch .results .r{display:block;padding:9px 14px;cursor:pointer}.gsearch .results .r:hover{background:var(--paper)}.gsearch .results .r .t{font-weight:500}.gsearch .results .r .m{color:var(--muted);font-size:12.5px}.gsearch .results .none{padding:12px 14px;color:var(--muted)}table.data td.sel,table.data th.sel{width:34px;text-align:center}table.data input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px}.selbar{display:flex;align-items:center;gap:12px;background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius);padding:8px 14px;margin-bottom:12px}.answer{white-space:pre-wrap;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:14px;max-height:50vh;overflow:auto;font-size:14px}.modal.wide{width:640px}
