:root{font-family:Inter,"Noto Sans SC","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--navy:#08265a;--blue:#155cff;--blue2:#3895ff;--muted:#65758b;--line:#e3eaf4;--panel:#fff;--bg:#f4f7fd;--shadow:0 12px 35px rgba(30,75,153,.065);color:#152c50;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);min-height:100vh;font-size:14px;line-height:1.6}a{color:#1760df;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-size:32px;letter-spacing:-1.1px;line-height:1.25}h2{font-size:20px;letter-spacing:-.4px;margin-bottom:14px}h3{font-size:16px;margin-bottom:8px}.app-layout{display:flex;min-height:100vh}.sidebar{width:246px;position:fixed;top:0;bottom:0;left:0;z-index:12;background:linear-gradient(164deg,#092a64 0%,#0d3b88 48%,#0959b1 100%);color:white;padding:28px 17px;display:flex;flex-direction:column;box-shadow:8px 0 36px rgba(5,35,96,.1)}.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.3px;font-size:20px;min-width:0;color:inherit}.sidebar .brand{padding:0 9px 30px}.brand-mark{width:36px;height:36px;background:linear-gradient(135deg,#5cbbff,#e7f6ff);color:#0a3f98;border-radius:12px;display:grid;place-items:center;box-shadow:0 4px 18px #4bb6ff4d;font-size:18px;flex-shrink:0}.brand strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-label{font-size:10px;letter-spacing:2px;color:#93b5ec;margin:10px 13px 16px}.nav{display:grid;gap:7px}.nav-link{display:flex;align-items:center;gap:12px;color:#c9dbfa;padding:12px 14px;border-radius:12px;transition:.2s;font-weight:600}.nav-link i{width:17px;text-align:center}.nav-link:hover,.nav-link.active{background:#ffffff22;color:white}.nav-link.active{border:1px solid #ffffff25;box-shadow:inset 3px 0 #6dc5ff}.side-foot{margin-top:auto;background:#ffffff14;border:1px solid #ffffff15;border-radius:16px;padding:13px;display:flex;align-items:center;gap:11px}.user-dot{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#89c5ff3d;color:white;font-weight:800}.user-meta{display:grid;gap:0;min-width:0}.user-meta b{overflow:hidden;text-overflow:ellipsis}.user-meta small{color:#b0caee}.main{margin-left:246px;width:calc(100% - 246px);display:flex;flex-direction:column;min-height:100vh}.topbar{height:94px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:17px 38px;gap:12px}.top-eyebrow,.eyebrow{font-size:10px;letter-spacing:2px;color:#488ef0;font-weight:800}.top-title{font-size:20px;font-weight:800;letter-spacing:-.5px;color:#12376f;margin-top:3px}.top-actions{display:flex;align-items:center;gap:11px}.mini-pill{font-size:11px;color:#0b7e90;background:#e7f9fa;padding:8px 11px;border-radius:30px;font-weight:700}.content{flex:1;max-width:1450px;width:100%;margin:0 auto;padding:30px 38px 46px}.footer{color:#93a3b7;text-align:center;padding:20px 24px 26px;font-size:12px}.footer span{margin-left:10px}.panel{border:1px solid #e4eaf5;background:#fff;border-radius:19px;box-shadow:var(--shadow);padding:26px;margin-bottom:22px}.panel-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.panel-row h1{margin:7px 0}.panel-row h2{margin:3px 0 5px}.panel-row p{margin:0}.muted{color:var(--muted)}.block{display:block}.btn{border:1px solid transparent;display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:10px 16px;min-height:42px;font-weight:700;border-radius:11px;white-space:nowrap;transition:transform .15s,box-shadow .15s;line-height:1.2}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(110deg,#1456dd,#2586f7);color:#fff;box-shadow:0 6px 13px #165cf62e}.btn-light{background:#f4f8ff;border-color:#e0eafb;color:#20508f}.btn-danger{background:#fff2f3;border-color:#ffd9df;color:#b32946}.btn-small{font-size:12px;padding:8px 11px;min-height:34px}.btn-wide{width:100%;min-height:46px}.btn:disabled{opacity:.45;cursor:not-allowed}.welcome{padding:34px 35px;min-height:160px;background:linear-gradient(106deg,#104bc3 0%,#1680ef 75%,#55b9ff 100%);border-radius:22px;color:#fff;margin-bottom:23px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative}.welcome h1{margin:12px 0 9px;font-size:28px}.welcome p{color:#e5efff;margin:0}.welcome .eyebrow{color:#aed6ff}.hero-icon{font-size:118px;opacity:.16;transform:rotate(-12deg);margin-right:40px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:24px}.stat{border:1px solid #e4eaf5;border-radius:17px;background:#fff;padding:21px;box-shadow:var(--shadow);position:relative;min-height:116px}.stat span{font-size:12px;color:#657991;font-weight:600}.stat strong{display:block;font-size:34px;color:#16498f;letter-spacing:-1px;margin-top:7px}.stat i{position:absolute;right:19px;top:28px;font-size:24px;color:#c3ddfc}.table-scroll{overflow-x:auto;width:100%}table{width:100%;border-collapse:collapse;text-align:left;min-width:680px}th{font-size:12px;letter-spacing:.3px;color:#697d96;background:#f7f9fd;padding:13px 14px;font-weight:700}td{border-bottom:1px solid #eff2f8;padding:14px;font-size:13px;vertical-align:middle}td strong{color:#153a6b}tr:last-child td{border-bottom:0}.table-link{font-weight:700;white-space:nowrap}.table-link i{font-size:10px}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.status{display:inline-flex;align-items:center;padding:5px 10px;border-radius:30px;font-size:11px;font-weight:800;white-space:nowrap}.status.draft{background:#eef2f7;color:#526683}.status.sent{background:#ecf5ff;color:#1871d0}.status.completed{background:#e6f9ee;color:#198559}.status.void{background:#ffeeef;color:#b64c5c}.count-chip{font-size:12px;background:#ecf3ff;color:#2271c7;padding:4px 8px;border-radius:9px;vertical-align:middle}.form-grid{display:grid;gap:17px}.field{display:grid;gap:7px;min-width:0}.field>span{font-weight:700;color:#29476d;font-size:12px}input:not([type=checkbox]):not([type=file]),select,textarea{width:100%;min-width:0;border:1px solid #d9e3f0;background:#fbfdff;border-radius:10px;outline:0;padding:12px 13px;color:#1a3556;transition:border .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:#6d9fff;box-shadow:0 0 0 3px #4e92ff18}textarea{resize:vertical;line-height:1.75}input[type=file]{width:100%;padding:12px;border:1px dashed #b9cdea;background:#f8fbff;border-radius:10px}.form-two,.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.edit-actions{display:flex;justify-content:space-between;gap:12px}.check-label{display:flex;align-items:flex-start;gap:9px;color:#4b6180;font-size:12px;line-height:1.6}.check-label input{accent-color:#2166e7;margin-top:3px}.filter-bar{display:flex;gap:10px;margin:16px 0 22px}.filter-bar>input{flex:2}.filter-bar>select{flex:1}.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.template-tile{border:1px solid #e5ebf5;border-radius:16px;padding:20px;background:linear-gradient(155deg,#fff 30%,#f8fbff);min-height:195px;display:flex;flex-direction:column}.tile-icon{width:39px;height:39px;border-radius:11px;background:#eaf3ff;color:#2576e6;display:grid;place-items:center;font-size:19px;margin-bottom:14px}.tile-category{font-size:11px;color:#7691b4;font-weight:700}.template-tile h3{margin:6px 0 13px;line-height:1.55}.tile-actions{display:flex;gap:8px;margin-top:auto}.document{font-family:"Noto Serif SC","SimSun",Georgia,serif;line-height:1.95;word-break:break-word;font-size:14px}.paper{max-width:920px;margin:20px auto;padding:45px 48px;border-radius:6px;border:1px solid #e1e5ed;box-shadow:0 12px 26px rgba(22,48,89,.06);background:#fff;color:#1a2f4a;min-height:180px}.doc-hash{word-break:break-all;color:#567299;background:#f3f7ff;padding:12px 16px;border-radius:9px;font-size:11px;margin-top:14px;font-family:ui-monospace,Consolas,monospace}.action-bar{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}.alert{padding:13px 16px;border-radius:11px;margin-bottom:19px;font-size:13px}.alert.success{background:#eaf9f1;color:#1c7254;border:1px solid #cfeedd}.alert.warn{background:#fff8e9;color:#93621f;border:1px solid #ffecd0}.alert.danger{background:#fff0f2;color:#ba2846;border:1px solid #ffd3dd}.panel-icon{font-size:30px;color:#c6ddff}.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin:20px 0;font-size:12px}.pg{min-width:32px;height:33px;padding:5px 10px;display:grid;place-items:center;border:1px solid #dde7f5;border-radius:8px;color:#3465a4;background:#fff}.pg.sel{background:#226bee;color:#fff}.empty{text-align:center;color:#8c9bb0;padding:35px}.sign-layout{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:20px}.sticky{position:sticky;top:18px}.guest-top{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;background:#fff;border-bottom:1px solid #e3eaf5}.guest-top .brand{color:#153d7b}.guest-tip{font-size:12px;color:#7490af}.guest-container{min-height:calc(100vh - 165px);width:min(1220px,92%);margin:30px auto}.install-head{text-align:center;padding:15px 0 22px}.install-head h1{margin:10px 0}.check-item{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:11px 0}.ok{color:#209467}.not-ok{color:#c43f52}.login-shell{min-height:600px;display:grid;grid-template-columns:1.1fr .9fr;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);background:#fff}.login-intro{padding:90px 52px;position:relative;background:linear-gradient(130deg,#093a99,#0c69db 65%,#62beff);color:#fff;overflow:hidden}.login-intro .eyebrow{color:#b3ddff}.login-intro h1{font-size:40px;line-height:1.38;margin:24px 0}.login-intro p{color:#e2efff}.hero-glow{position:absolute;border:65px solid #ffffff10;border-radius:50%;width:450px;height:450px;bottom:-200px;right:-170px}.login-panel{margin:0;border:0;border-radius:0;box-shadow:none;padding:95px 70px}.login-panel h2{margin:15px 0 2px;font-size:24px}.login-icon{height:52px;width:52px;display:grid;place-items:center;font-size:22px;border-radius:15px;background:#eaf2ff;color:#2765d9}.login-panel form{margin-top:30px}.copy-row{display:flex;gap:8px}.copy-row input{flex:1}.user-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.inline-form{display:flex;align-items:center;gap:5px}.inline-form select{width:auto;min-width:95px;padding:6px}.inline-form .short-input{width:150px;max-width:150px;padding:8px;font-size:12px}.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.role-details{padding:14px;border-bottom:1px solid var(--line)}.role-details summary{font-weight:700;cursor:pointer}.role-details form{padding-top:15px}.seal-preview{max-width:220px;max-height:160px;display:block;border:1px dashed #c9d7e6;padding:10px;border-radius:11px;margin:14px 0}.log-details{max-width:200px;word-break:break-all}.log-details code{font-size:11px}.hidden{display:none!important}.mobile-menu{display:none}.error-panel{max-width:580px;margin:100px auto}.role-details{background:#fff}
@media(max-width:1200px){.stats{grid-template-columns:repeat(2,1fr)}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:23px}.topbar{padding:17px 23px}.sign-layout{grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:850px){.sidebar{transform:translateX(-100%);transition:transform .25s}.sidebar.open{transform:translateX(0)}.main{margin-left:0;width:100%}.mobile-menu{display:inline-grid;place-items:center;border:0;background:#ebf4ff;color:#276adb;width:38px;height:38px;border-radius:10px}.topbar{height:80px}.top-actions .mini-pill{display:none}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sign-layout{grid-template-columns:1fr}.sticky{position:static}.login-panel{padding:65px 35px}}
@media(max-width:600px){body{font-size:13px}.content{padding:17px 12px}.panel{padding:18px 14px;border-radius:15px}.topbar{padding:12px 13px;height:70px}.top-title{font-size:16px}.top-eyebrow{font-size:8px}.top-actions{gap:4px}.top-actions .btn{padding:8px;font-size:11px}.welcome{padding:23px;min-height:145px}.welcome h1{font-size:23px}.welcome p{font-size:12px}.hero-icon{font-size:60px;margin-right:0}.stats{gap:9px}.stat{padding:14px;min-height:92px}.stat strong{font-size:27px}.stat i{right:11px;font-size:18px}.template-grid,.form-two,.two-col{grid-template-columns:1fr}.filter-bar{flex-wrap:wrap}.filter-bar input{width:100%;flex:auto}.filter-bar select{min-width:0}.panel-row{flex-wrap:wrap}.paper{padding:20px 14px;font-size:12px;line-height:1.95}.document{font-size:12px}.login-shell{grid-template-columns:1fr;min-height:0}.login-intro{padding:34px 25px}.login-intro h1{font-size:26px}.login-panel{padding:35px 26px}.guest-top{height:70px;padding:0 16px}.guest-top .brand{font-size:16px}.guest-tip{display:none}.guest-container{width:calc(100% - 20px);margin:13px auto}.sign-layout{gap:0}.permission-grid{grid-template-columns:1fr}.mini-pill{display:none}.action-bar{gap:6px}.action-bar .btn{flex:1}.footer span{display:block;margin-left:0}.install-head h1{font-size:24px}}
@media print{.sidebar,.topbar,.footer,.action-bar,.btn,.sign-layout aside,.guest-top,.mobile-menu{display:none!important}.main{margin:0;width:100%}.content{padding:0}.panel{box-shadow:none;border:0}.paper{border:0;box-shadow:none;max-width:100%;padding:0}.document{font-size:12pt}.sign-layout{display:block}}

.stamp-section{display:grid;justify-items:start;gap:8px;padding:14px 17px;border:1px dashed #9fbcee;background:#f8fbff;border-radius:12px;margin-top:15px}.stamp-section strong{font-size:12px;color:#315d93}.stamp-section small{color:#6e83a4}

.brand-logo{width:36px;height:36px;object-fit:contain;background:#fff;border-radius:11px;padding:3px;flex-shrink:0}

#live-preview{white-space:pre-wrap}

/* v1.1 seal management and maintenance */
.seal-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px;margin:26px 0}.seal-card{padding:18px;border:1px solid #dce8f8;border-radius:18px;background:#f9fcff;display:flex;flex-direction:column;gap:9px}.seal-card img{height:112px;max-width:100%;object-fit:contain;background:white;border-radius:12px;border:1px solid #e4eefa}.seal-card strong{font-size:14px;color:#1e4581}.seal-card small{font-size:11px;color:#758ba9;overflow-wrap:anywhere}.seal-card .btn{width:100%;justify-content:center}.btn-danger{background:#fef0f1!important;border:1px solid #f3c7cc!important;color:#bb3244!important}.btn-danger:hover{background:#fee2e3!important}

/* v1.2.2 – invitation policy, mail console and login copyright */
.login-copyright{margin:24px auto 0;text-align:center;color:#526b90;font-size:13px;padding:14px 20px;max-width:800px}
.smtp-panel{max-width:1050px;margin:0 auto}.smtp-test{padding:22px;background:linear-gradient(120deg,#f3f8ff,#fff);border:1px solid #d4e6ff;border-radius:15px}
.smtp-test h3{margin:0 0 8px;color:#0b3c85}.recipient-row{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));align-items:end}.recipient-row .field{min-width:0}
.smtp-panel .workflow-actions{flex-wrap:wrap}.sign-workspace .signature-pad{background:#fff}
@media(max-width:700px){.smtp-test{padding:14px}.recipient-row{grid-template-columns:1fr}.login-copyright{padding:15px 12px}}

@media(min-width:1201px){.stats{grid-template-columns:repeat(5,minmax(0,1fr))}}
