From 9553df4f14ff56749395959a83fd00e9bacacfe6 Mon Sep 17 00:00:00 2001 From: kjh2064 Date: Sun, 26 Jul 2026 02:39:45 +0900 Subject: [PATCH] fix(css): add complete standalone Vanilla CSS definitions for modal overlays, flex positioning, and shadows --- src/frontend/src/assets/douzone.css | 87 +++++++++++++++++++---------- 1 file changed, 57 insertions(+), 30 deletions(-) diff --git a/src/frontend/src/assets/douzone.css b/src/frontend/src/assets/douzone.css index 38423c7b..44b28552 100644 --- a/src/frontend/src/assets/douzone.css +++ b/src/frontend/src/assets/douzone.css @@ -57,6 +57,7 @@ input::placeholder, textarea::placeholder { .flex-col { display: flex; flex-direction: column; } .flex-row { display: flex; flex-direction: row; } .flex-1 { flex: 1 1 0%; } +.flex-grow-1 { flex-grow: 1; } .flex-wrap { flex-wrap: wrap; } .items-center { align-items: center; } .items-start { align-items: flex-start; } @@ -70,30 +71,40 @@ input::placeholder, textarea::placeholder { .grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } +.grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); } +.gap-0\.5 { gap: 2px; } .gap-1 { gap: 4px; } +.gap-1\.5 { gap: 6px; } .gap-2 { gap: 8px; } .gap-3 { gap: 12px; } .gap-4 { gap: 16px; } +.gap-6 { gap: 24px; } .p-1 { padding: 4px; } .p-2 { padding: 8px; } +.p-2\.5 { padding: 10px; } .p-3 { padding: 12px; } .p-4 { padding: 16px; } .p-5 { padding: 20px; } .p-6 { padding: 24px; } .px-2 { padding-left: 8px; padding-right: 8px; } +.px-2\.5 { padding-left: 10px; padding-right: 10px; } .px-3 { padding-left: 12px; padding-right: 12px; } .px-4 { padding-left: 16px; padding-right: 16px; } .py-1 { padding-top: 4px; padding-bottom: 4px; } +.py-1\.5 { padding-top: 6px; padding-bottom: 6px; } .py-2 { padding-top: 8px; padding-bottom: 8px; } +.py-2\.5 { padding-top: 10px; padding-bottom: 10px; } +.py-3 { padding-top: 12px; padding-bottom: 12px; } .m-0 { margin: 0; } .mt-1 { margin-top: 4px; } .mt-2 { margin-top: 8px; } .mb-1 { margin-bottom: 4px; } .mb-2 { margin-bottom: 8px; } +.ml-1 { margin-left: 4px; } .w-full { width: 100%; } .h-full { height: 100%; } @@ -106,31 +117,43 @@ input::placeholder, textarea::placeholder { .overflow-hidden { overflow: hidden; } .overflow-y-auto { overflow-y: auto; } .overflow-x-auto { overflow-x: auto; } -.sticky { position: sticky; } -.bottom-0 { bottom: 0; } + +/* Positioning & Modals */ +.fixed { position: fixed; } +.absolute { position: absolute; } +.relative { position: relative; } +.inset-0 { top: 0; right: 0; bottom: 0; left: 0; } +.z-50 { z-index: 50; } +.max-w-md { max-width: 28rem; } +.select-none { user-select: none; } /* Backgrounds & Text Color Contrast Safety */ -.bg-white { background-color: #FFFFFF; color: #0F172A; } -.bg-slate-50 { background-color: #F8FAFC; color: #0F172A; } -.bg-slate-100 { background-color: #F1F5F9; color: #0F172A; } -.bg-slate-200 { background-color: #E2E8F0; color: #0F172A; } -.bg-slate-800 { background-color: #1E293B; color: #F8FAFC; } -.bg-slate-900 { background-color: #0F172A; color: #F8FAFC; } -.bg-blue-50 { background-color: #EFF6FF; color: #1E40AF; } -.bg-blue-100 { background-color: #DBEAFE; color: #1E40AF; } -.bg-blue-600 { background-color: #2563EB; color: #FFFFFF; } -.bg-blue-700 { background-color: #1D4ED8; color: #FFFFFF; } -.bg-emerald-50 { background-color: #ECFDF5; color: #047857; } -.bg-emerald-100 { background-color: #D1FAE5; color: #047857; } -.bg-emerald-600 { background-color: #059669; color: #FFFFFF; } -.bg-amber-50 { background-color: #FFFBEB; color: #92400E; } -.bg-amber-100 { background-color: #FEF3C7; color: #92400E; } -.bg-rose-50 { background-color: #FFF1F2; color: #9F1239; } -.bg-rose-100 { background-color: #FFE4E6; color: #9F1239; } -.bg-rose-600 { background-color: #E11D48; color: #FFFFFF; } +.bg-white { background-color: #FFFFFF !important; } +.bg-slate-50 { background-color: #F8FAFC !important; } +.bg-slate-100 { background-color: #F1F5F9 !important; } +.bg-slate-200 { background-color: #E2E8F0 !important; } +.bg-slate-800 { background-color: #1E293B !important; color: #F8FAFC !important; } +.bg-slate-900 { background-color: #0F172A !important; color: #F8FAFC !important; } +.bg-slate-900\/50 { background-color: rgba(15, 23, 42, 0.6) !important; } +.bg-blue-50 { background-color: #EFF6FF !important; } +.bg-blue-100 { background-color: #DBEAFE !important; } +.bg-blue-600 { background-color: #2563EB !important; color: #FFFFFF !important; } +.bg-blue-700 { background-color: #1D4ED8 !important; color: #FFFFFF !important; } +.bg-emerald-50 { background-color: #ECFDF5 !important; } +.bg-emerald-100 { background-color: #D1FAE5 !important; } +.bg-emerald-600 { background-color: #059669 !important; color: #FFFFFF !important; } +.bg-amber-50 { background-color: #FFFBEB !important; } +.bg-amber-100 { background-color: #FEF3C7 !important; } +.bg-amber-500 { background-color: #F59E0B !important; color: #0F172A !important; } +.bg-purple-600 { background-color: #9333EA !important; color: #FFFFFF !important; } +.bg-rose-50 { background-color: #FFF1F2 !important; } +.bg-rose-100 { background-color: #FFE4E6 !important; } +.bg-rose-600 { background-color: #E11D48 !important; color: #FFFFFF !important; } /* Text Color Classes */ .text-xs { font-size: 12px; } +.text-[10px] { font-size: 10px; } +.text-[11px] { font-size: 11px; } .text-sm { font-size: 14px; } .text-base { font-size: 16px; } .text-xl { font-size: 20px; } @@ -150,27 +173,30 @@ input::placeholder, textarea::placeholder { .text-slate-700 { color: #334155 !important; } .text-slate-800 { color: #1E293B !important; } .text-slate-900 { color: #0F172A !important; } +.text-slate-950 { color: #020617 !important; } .text-blue-600 { color: #2563EB !important; } .text-blue-700 { color: #1D4ED8 !important; } .text-blue-800 { color: #1E40AF !important; } +.text-blue-900 { color: #1E3A8A !important; } .text-emerald-600 { color: #059669 !important; } .text-emerald-700 { color: #047857 !important; } +.text-emerald-800 { color: #065F46 !important; } +.text-emerald-900 { color: #064E3B !important; } .text-amber-800 { color: #92400E !important; } .text-rose-600 { color: #DC2626 !important; } .text-rose-700 { color: #BE123C !important; } .text-rose-800 { color: #9F1239 !important; } /* Borders & Shadows */ -.border { border-width: 1px; border-style: solid; } -.border-b { border-bottom-width: 1px; border-bottom-style: solid; } -.border-t { border-top-width: 1px; border-top-style: solid; } -.border-r { border-right-width: 1px; border-right-style: solid; } -.border-slate-200 { border-color: #E2E8F0; } -.border-slate-300 { border-color: #CBD5E1; } -.border-blue-200 { border-color: #BFDBFE; } -.border-blue-300 { border-color: #93C5FD; } -.border-amber-200 { border-color: #FDE68A; } -.border-rose-200 { border-color: #FECDD3; } +.border { border-width: 1px; border-style: solid; border-color: #CBD5E1; } +.border-b { border-bottom-width: 1px; border-bottom-style: solid; border-color: #CBD5E1; } +.border-t { border-top-width: 1px; border-top-style: solid; border-color: #CBD5E1; } +.border-r { border-right-width: 1px; border-right-style: solid; border-color: #CBD5E1; } +.border-slate-200 { border-color: #E2E8F0 !important; } +.border-slate-300 { border-color: #CBD5E1 !important; } +.border-blue-200 { border-color: #BFDBFE !important; } +.border-amber-200 { border-color: #FDE68A !important; } +.border-rose-200 { border-color: #FECDD3 !important; } .rounded { border-radius: 4px; } .rounded-md { border-radius: 6px; } @@ -180,6 +206,7 @@ input::placeholder, textarea::placeholder { .shadow-xs { box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); } .shadow-sm { box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06); } .shadow-md { box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); } +.shadow-xl { box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); } .transition { transition: all 0.15s ease-in-out; } /* AG Grid High-Contrast Custom Theme Override */