*{box-sizing:border-box}html,body{color:#111827;background:#f5f7fb;margin:0;padding:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.center-page{place-items:center;min-height:100dvh;padding:24px;display:grid}.card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:24px;box-shadow:0 6px 20px #0000000a}.app-shell{grid-template-columns:var(--app-shell-cols,240px 1fr);height:100dvh;display:grid;overflow:hidden}.sidebar{color:#fff;background:#111827;flex-direction:column;gap:16px;height:100dvh;padding:24px 18px;transition:padding .2s;display:flex;overflow:hidden}.sidebar>.nav{flex:auto;min-height:0;padding-right:4px;overflow-y:auto}.app-shell.sidebar-minimized .sidebar{padding:16px 6px;overflow-x:hidden}.app-shell.sidebar-minimized .sidebar .brand,.app-shell.sidebar-minimized .sidebar .nav a>:not(:first-child),.app-shell.sidebar-minimized .sidebar .nav button>:not(:first-child){display:none}.app-shell.sidebar-minimized .sidebar .nav a,.app-shell.sidebar-minimized .sidebar .nav button{text-align:center;padding:10px 6px;font-size:18px}.app-shell.sidebar-hidden .sidebar{display:none}.brand{font-size:24px;font-weight:700}.nav{gap:10px;display:grid}.nav a{background:#ffffff0f;border-radius:10px;padding:10px 12px}.nav a:hover{background:#ffffff1f}.content{height:100dvh;padding:28px;overflow-y:auto}.page-header{margin-bottom:18px}.page-header h1{margin:0;font-size:30px}.muted{color:#6b7280}.grid{gap:16px;display:grid}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px}.panel h2,.panel h3{margin-top:0}.row,.form-grid{gap:12px;display:grid}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.input,.textarea,.select{background:#fff;border:1px solid #d1d5db;border-radius:10px;width:100%;padding:12px}.textarea{resize:vertical;min-height:100px}.button{color:#fff;cursor:pointer;background:#111827;border:0;border-radius:10px;padding:12px 16px}.button.secondary{background:#374151}.button.danger{background:#b91c1c}.button:disabled{opacity:.6;cursor:not-allowed}.list{gap:12px;display:grid}.item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px}.kv{gap:4px;margin-top:8px;display:grid}.badge{background:#e5e7eb;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;display:inline-block}.badge.ok{color:#166534;background:#dcfce7}.error{color:#b91c1c;font-weight:600}.success{color:#166534;font-weight:600}.top-bar,.drawer-backdrop{display:none}.hamburger{color:#fff;cursor:pointer;background:0 0;border:none;padding:6px 10px;font-size:24px;line-height:1}@media (max-width:900px){.app-shell{grid-template-rows:56px 1fr;height:100dvh;overflow:hidden;grid-template-columns:1fr!important}.top-bar{color:#fff;z-index:80;background:#111827;grid-row:1;justify-content:space-between;align-items:center;height:56px;padding:0 12px;display:flex}.top-bar .brand-line{font-size:16px;font-weight:700}.sidebar{z-index:120;width:280px;height:100dvh;padding:20px 18px;transition:transform .22s;position:fixed;top:0;bottom:0;left:0;overflow:hidden;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.drawer-backdrop{z-index:110;background:#00000073;display:none;position:fixed;inset:0}.drawer-backdrop.open{display:block}.grid.two,.grid.three,.form-grid.two{grid-template-columns:1fr}.content{grid-row:2;height:calc(100dvh - 56px);padding:14px;overflow-y:auto}}.progress-wrap{margin-top:10px}.progress-track{background:#e5e7eb;border-radius:999px;width:100%;height:12px;overflow:hidden}.progress-fill{background:#111827;border-radius:999px;height:100%;transition:width .2s}.helper{color:#6b7280;margin-top:6px;font-size:13px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:900px){.form-grid.three{grid-template-columns:1fr}}.modal-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-box{background:#fff;border-radius:14px;width:100%;max-width:640px;max-height:90vh;padding:28px;position:relative;overflow-y:auto;box-shadow:0 20px 60px #00000040}.modal-box h2,.modal-box h3{margin-top:0}.modal-close{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:20px;line-height:1;position:absolute;top:16px;right:16px}.modal-close:hover{color:#111827;background:#f3f4f6}@keyframes pms-spin{to{transform:rotate(360deg)}}.pms-spinner{border:2px solid #93c5fd;border-top-color:#1d4ed8;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite pms-spin;display:inline-block}@keyframes field-pulse-kf{0%{background-color:#fef08a66;box-shadow:0 0 #eab30899}60%{background-color:#fef08a00;box-shadow:0 0 0 8px #eab30800}to{background-color:#0000;box-shadow:0 0 #eab30800}}.field-pulse{border-radius:6px;scroll-margin-top:80px;animation:.8s ease-out 3 field-pulse-kf}.app-shell,.content{padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}.top-bar{padding-top:env(safe-area-inset-top,0)}.content{padding-bottom:calc(28px + env(safe-area-inset-bottom,0))}.sidebar{padding-bottom:calc(24px + env(safe-area-inset-bottom,0))}@media (max-width:900px){.content{padding-bottom:calc(14px + env(safe-area-inset-bottom,0))}.sidebar{padding-bottom:calc(20px + env(safe-area-inset-bottom,0))}}*{scrollbar-color:#1e293b #e2e8f0;scrollbar-width:auto}::-webkit-scrollbar{width:20px;height:12px}::-webkit-scrollbar-track{background:#e2e8f0;border-radius:10px}::-webkit-scrollbar-thumb{background:#1e293b;border-radius:10px;min-width:48px;min-height:48px;box-shadow:inset 0 0 0 2px #ffffff26}::-webkit-scrollbar-thumb:hover{background:#0f172a}::-webkit-scrollbar-thumb:active{background:#000}::-webkit-scrollbar-corner{background:#e2e8f0}.sidebar,.sidebar>.nav{scrollbar-color:#f1f5f9 #ffffff1a}.sidebar::-webkit-scrollbar-track{background:#ffffff1a}.sidebar>.nav::-webkit-scrollbar-track{background:#ffffff1a}.sidebar::-webkit-scrollbar-thumb{background:#f1f5f9;box-shadow:inset 0 0 0 2px #0003}.sidebar>.nav::-webkit-scrollbar-thumb{background:#f1f5f9;box-shadow:inset 0 0 0 2px #0003}.sidebar::-webkit-scrollbar-thumb:hover{background:#fff}.sidebar>.nav::-webkit-scrollbar-thumb:hover{background:#fff}.h-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}
